現在越來越多的網站使用HTTPS協議了,并且阿里云提供免費的ca證書(前提是主機也在阿里云買的),于是果斷把站點從http切換到HTTPS.
過程很簡單,去阿里云購買CA證書,購買后需要填寫些資料,然后提交審核,阿里云的審核速度還是相當快的,當天或次日就可得結果.
第一步:增加站點的https配置文件
# 把現有的配置文件復制一個
cp /etc/nginx/conf.d/com.abc.conf /etc/nginx/conf.d/com.abc.https.conf
vi /etc/nginx/conf.d/com.abc.https.conf
把監聽端口由80改為443,并往server配置段里添加ssl相關的配置:
server {
listen 443;
server_name abc.com abc.com;
# 為一個server{......}開啟ssl支持
ssl on;
# 指定 PEM 格式的證書文件
ssl_certificate /home/wwwroot/webs/com.abc/cert/214029045180842.pem;
# 指定 PEM 格式的私鑰文件
ssl_certificate_key /home/wwwroot/webs/com.abc/cert/214029045180842.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
........
.......
........ 站點的其它配置
}
第二步: 修改原來http訪問時的配置文件
vi /etc/nginx/conf.d/com.abc.conf
把所有的 http 請求都重定向到 https,并刪除其它多余的配置,最終內容如下:
server {
listen 80;
server_name abc.com www.abc.com;
rewrite ^(.*)$ https://$host$1 permanent;
}