专注 K8S研究
分类: 系统运维
2018-10-10 22:39:36
对于用户不知道网站可以进行https访问的情况下,让服务器自动把http的请求重定向到https。
在服务器这边的话配置的话,可以在页面里加js脚本,也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。
Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)
在http的server里增加rewrite ^(.*) permanent;
cat xxx.com.conf
-------------------------------------------------------------------------
server {
listen 80;
server_name xxx.com
rewrite ^(.*) https://$host$1 permanent
}
要新加一个server 不要写在listen 443里面,写在里面就一直是https重定向到https,进入死循环。
这样如果是http,就会跳转到https, 比如访问xxx.com或者 都会重定向到https://
cat xxx.com.https.conf
----------------------------------------------------------------------------
server {
listen 443;
server_name ssl on;
ssl_certificate 1__bundle.crt;
ssl_certificate_key 2_.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 这里不需要更改
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 这里不需要更改
ssl_prefer_server_ciphers on;
}