啟用SSL開啟HTTPS訪問已經(jīng)是當(dāng)今的主流趨勢了,本文旨在提供在nginx上快速配置SSL的簡易指南。
申請證書
現(xiàn)在證書越來越便宜蔫慧,GoDaddy證書只需要幾美元蜂挪,甚至StartSSL、AlphaSSL垦江、騰訊云或七牛云等都可以免費申請到SSL證書帽馋。如何申請免費證書本文不再贅述。
上傳證書至服務(wù)器
把申請到的證書文件(包含證書鏈和私鑰)上傳到服務(wù)器比吭,保存到一個nginx可以讀取到的地方绽族,如/home/ssl/
:
-
/home/ssl/yourname.cer
為證書鏈 -
/home/ssl/yourname.key
為公鑰
修改nginx配置
在nginx配置文件中,把原來server
塊中的80
端口(http訪問)的語句改為443
端口衩藤,并引入SSL各項配置吧慢,同時啟用HSTS(HTTP嚴(yán)格傳輸安全):
server {
listen 443 ssl;
server_name yourname;
root /home/www/yourname;
index index.php index.html;
ssl_certificate /home/ssl/yourname.crt;
ssl_certificate_key /home/ssl/yourname.key;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000";
access_log /var/log/nginx/yourname.log combined;
location / {
#
}
}
然后再新建一個server
塊,目的是把http訪問重定向到https:
server {
listen 80;
server_name yourname;
rewrite ^ https://$host$request_uri? permanent;
}
保存后重載nginx即可赏表。
service nginx reload