全站开启HTTPS之Nginx配置

在申请到证书之后,就是对网站的Web服务器进行配置。我博客用的是淘宝的Tengine。

开启HTTPS之前需要检查服务器的Nginx版本,如果要支持http2还要检查OpenSSL的版本

 

版本要求:

Nginx>1.9.5

OpenSSL>1.0.2e

 

升级方法可以参考:

《CentOS下Nginx平滑升级》

《CentOS下OpenSSL升级》

 

0x00 下载证书

把申请到公钥和私钥下载到服务器上,比如放在Nginx安装路径下

 

0x01 Nginx配置


#支持http2

listen 443 ssl http2;

#网站域名

server_name domain;

ssl_certificate 公钥路径;

ssl_certificate_key 私钥路径;

ssl_session_timeout 5m;

#//SSL协议版本需新增TLSv1.1 TLSv1.2否则http2.0访问无法打开!

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

#支持的加密套件

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;

ssl_prefer_server_ciphers on;

 

0x02 HTTP强制跳转HTTPS

开启了HTTPS后,需要把通过HTTP访问的链接301跳转到HTTPS。再添加一个监听80端口的server


server{

listen 80;

server_name domain;

root web路径;

location / {

rewrite ^(.*)$ https://$host$1 permanent;

}

}

 

配置好后,重启Nginx,就可以通过HTTPS访问了。查看后台web日志,也可以看到是通过http2协议访问的

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: