環境:
centos6/7,nginx-1.9.15.
摘要說明:
上一篇主要講述nginx下如何配置跨域、緩存、壓縮;
本章節主要講述nginx的https配置;
步驟:
1.https配置
首先我們要確定你的nginx安裝了ssl模塊:
# ./nginx -V
確認後需要有證書公鑰和私鑰,上傳到服務器上;
接着就是配置https端口443:
server {
listen 443 ssl;
server_name study.xxxx.cn;
ssl_certificate /usr/local/nginx/conf/conf.d/1519440_xxxx.pem; #證書公鑰,可爲pem,也可爲crt
ssl_certificate_key /usr/local/nginx/conf/conf.d/1519440_xxxx.key;#私鑰
location / {
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
重新加載nginx配置即可 ;
瀏覽器訪問後可看到正式詳情:
只有專業機構頒發的證書瀏覽器纔會識別成安全的;開發運維時需要主要有效期,及時更換正式;
詳情裏一般會指定公鑰和簽名的加密算法:
瀏覽器和nginx就https協議交互的大概流程如下:
1.瀏覽器判斷是https請求,先加載證書到瀏覽器端
2.生成隨機密碼就行交互確認
3.後續都使用該密碼進行加密交互
若不想用戶使用http可做重定向設置:
server {
listen 443 ssl;
server_name study.xxxx.cn;
ssl_certificate /usr/local/nginx/conf/conf.d/1519440_study.xxxx.cn.pem; #證書公鑰,可爲pem,也可爲crt
ssl_certificate_key /usr/local/nginx/conf/conf.d/1519440_study.xxxx.cn.key;#私鑰
location / {
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name study.xxxx.cn;
rewrite ^/ https://study.xxxx.cn redirect;
location / {
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}