多了一个server,做了一个301的跳转
server {
listen 80;
server_name www.web1.com web1.com; (这里是可写别名的,第二个是别名)
return 301 https://www.web1.com$request_uri; (当别人访问80,让它转到这里)
}
server { //原来怎么写,现在怎么写
listen 443 ssl;
server_name www.web2.com;
ssl on;
ssl_certificate /usr/local/nginx/conf/cert.pem;
ssl_certificate_key /usr/local/nginx/conf/cert.key;:
}
443的server完全不动,在做跳转之前先把443做好,测试完成之后再去做跳转
实验
先把普通的80端口干掉,干掉之后先保证nginx是能用的,再加跳转。
vim /etc/nginx/conf.d/default.conf
把这个干掉
现在只有一个443的server
systemctl restart nginx 重启服务,
80端口已经不能访问了,因为没有80端口了
但是如果改成https就可以访问
这次访问,不再向我要证书,因为我已经下载过一次证书了,就不用再下载了。除非把证书删除
不能指望用户自己去写https,它就不写http,就写域名,但是浏览器现在默认加https。
当用户输入http的时候依然让它访问https。
server {
listen 80;
server_name www.web1.com web1.com; (这里是可写别名的,第二个是别名)
return 301 https://www.web1.com$request_uri; (当别人访问80,让它转到这里)
}
把这个加到server的上面。
当别人访问我80端口的域名时,让它转到https。
在做实验的时候,做个解析,没dns,得手动解析,ping一下,(养成好习惯)
重启服务,拿域名去访问