建站过程中陆续遇到很多问题,也简单记录一下!
随着网络安全意识的普及,浏览器也在连接安全,内容安全上作出了更多限制。如谷歌、火狐、百度等大多浏览器,讲采用SSL安全协议的站点,标识为安全,会在地址栏域名前添加“小绿锁”安全标识。
本站完成了全站HTTPS改造,下面进入正题,如何接入实现https:
环境:Centos7.x,Nginx
前置准备:https 证书
- 配置http,包括http重定向至https,其中添加了不含www域名转www域名,也可根据需要反向转换。添加这部分转换的原因可以在做SEO的时候详细了解。一下配置将域名及相关路径配置为自己服务器,添加在nginx.conf中即可。
server { listen 80; server_name imlx.cn www.imlx.cn; #Nginx 301重定向跳转支持GET参数的配置方法 if ($server_port !~ 443){ rewrite ^(.*)$ https://$host$1 permanent; } }
server { listen 443 ssl; ssl on; root /home/wwwroot/default; index index.html index.htm index.php; ssl_certificate /etc/nginx/cert/15256875*****.pem; ssl_certificate_key /etc/nginx/cert/15256875*****.key; keepalive_timeout 70; server_name imlx.cn www.imlx.cn; if ( $host != 'www.imlx.cn' ) { rewrite ^/(.*)$https://www.imlx.cn$1 permanent; } #禁止在header中出现服务器版本,防止黑客利用版本漏洞攻击 server_tokens off; access_log /home/wwwlogs/imlx.cn/access.log; error_log /home/wwwlogs/imlx.cn/error.log; }
- 重新加载配置文件
nginx -s reload
解决443端口远程失败
关闭了Centos7的防火墙firewall,后发现远程电脑telnet 服务器ip 443 失败,在服务器上wget https://www.imlx.cn 可以获取到首页文件,并且确认了服务商并没有禁用443端口(这时候很容易陷入困惑,443端口监听开了,远程端口防火墙都关了,怎么就是不能远程请求443端口呢?)
解决这个问题比较简单,需要先开启firewall,添加远程端口443
systemctl start firewalld
firewall-cmd --zone=dmz --add-port=443/tcp