Nginx服务器开启HTTPS的配置
在2018年,谷歌宣布从7月起,Chrome浏览器的地址栏将把所有HTTP标示为不安全网站,并且对所有的HTTP网站降低SEO权重。这一重大举措无疑是为了加快普及HTTPS,以及代表谷歌正式抛弃了HTTP。除了GOOGLE,国内的百度、360等均公开宣布,对HTTPS网站给予优先收录。
并且现在免费的SSL证书越来越多,网站开启HTTPS访问的门槛也越来越低,个人博客也可以享受到安全的HTTPS通信了。
免费的SSL汇总可以参考另一篇文章。
具体部署
申请好证书,之后下载解压压缩包内Nginx版证书会得到.crt文件和.key文件,将其放在你的指定目录下(建议新建一个证书夹目录来专门存放所有网站的SSL证书),之后开始配置Nginx,新添加一条server规则。
server {
listen 443;
server_name szncu.club www.szncu.club;
#SSL所采用的的协议版本
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
#下面是.crt文件路径,需要绝对路径
ssl_certificate .../fullchain.crt;
#下面是.key文件路径,需要绝对路径
ssl_certificate_key .../privkey.key;
#优先采取服务器算法
ssl_prefer_server_ciphers on;
#定义算法
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#SSL回话时间等配置
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
至此,SSL配置就完成了
当然我们可以强制开启HTTPS访问,也就是将所有HTTP访问301重定向到HTTPS上面来,加入以下规则:
if ($scheme = http ) {
return 301 https://$host$request_uri;
}
至此开启SSL就圆满完成了