目录
1.return 跳转
2.rewrite 跳转
如果把https的s去掉,就相当于去访问80端口了,https默认找的是443端口,而80端
口对应的网站我们设置了默认网站,所以如果你删掉了s再访问,就看到我们的默认网站了
我们想要的效果是,输入 http://www.baidu.com ,可以自动访问 https://www.baidu.com
这个效果就需要对配置文件进行修改
1.return 跳转
来到我的网站配置目录下
cd /etc/nginx/conf.d/
然后对www.fly.top.conf 配置文件进行修改,增加以下的 server 段
server {access_log off; # 这段配置是专门用来做跳转用的,所以日志就不用记录了,off就是关闭跳转行为的日志记录listen 80;server_name www.fly.top;location / {return 302 https://www.fly.top$request_uri; # 当用户访问 www.fly.top的80端口时,自动跳转到https网址。
# $request_uri的意思是网址uri,这个访问http://www.wulaoban.top网址后面不管加什么内容,不管访问哪个页面路径,都直接跳转到https
# URL: 协议(http/https):// + 主机(ip/域名) + 端口(80/443) + uri(/xx/index.html或者/xx/xx.jpg等)}
}
2.rewrite 跳转
#使用rewrite跳转
server {access_log off;listen 80;server_name www.fly.top;location / {rewrite ^/(.*) https://www.fly.top/$1 redirect; # redirect代表
302状态码,临时跳转,^代表网址https://www.fly.top,/(.*)其实就是匹配uri,$1表示()中
匹配到的内容,也就是.*匹配到的内容# rewrite ^/(.*) https://www.fly.top/$1 permanent; # permanent代表
301状态码,永久跳转}
}
静态 ip 的这个 NAT 模式的虚拟机不能上网因,是被 NetworkManager 给干扰
# 在CentOS中有NetworkManager和network两种网络管理工具,如果这两种服务都工作时会产生冲突进而
导致机器无法联网。
systemctl stop NetworkManager
systemctl disable NetworkManager# 再重启网卡
systemctl restart networkroute -n # 看到有网关了。
配置额外的跳转
server {listen 80;server_name www.fly.top;location / {return 302 https://www.fly.top$request_uri;}
}
server {listen 80;server_name fly.top; # 用户输入不带www的时候也能跳转到https的网址上location / {return 302 https://www.fly.top$request_uri;}
}