現(xiàn)在越來(lái)越多的網(wǎng)站使用HTTPS協(xié)議了,并且阿里云提供免費(fèi)的ca證書(shū)(前提是主機(jī)也在阿里云買的),于是果斷把站點(diǎn)從http切換到HTTPS.
過(guò)程很簡(jiǎn)單,去阿里云購(gòu)買CA證書(shū),購(gòu)買后需要填寫(xiě)些資料,然后提交審核,阿里云的審核速度還是相當(dāng)快的,當(dāng)天或次日就可得結(jié)果.
第一步:增加站點(diǎn)的https配置文件
# 把現(xiàn)有的配置文件復(fù)制一個(gè)
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
把監(jiān)聽(tīng)端口由80改為443,并往server配置段里添加ssl相關(guān)的配置:
server {
listen 443;
server_name abc.com abc.com;
# 為一個(gè)server{......}開(kāi)啟ssl支持
ssl on;
# 指定 PEM 格式的證書(shū)文件
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;
........
.......
........ 站點(diǎn)的其它配置
}
第二步: 修改原來(lái)http訪問(wèn)時(shí)的配置文件
vi /etc/nginx/conf.d/com.abc.conf
把所有的 http 請(qǐng)求都重定向到 https,并刪除其它多余的配置,最終內(nèi)容如下:
server {
listen 80;
server_name abc.com www.abc.com;
rewrite ^(.*)$ https://$host$1 permanent;
}