證書安裝前準(zhǔn)備:
1、下載好已經(jīng)簽發(fā)的SSL證書
2、將SSL證書文件上傳到服務(wù)器上
3、證書文件以22cn.crt、中間證書以22cn_chain.crt、私鑰以22cn.key命名為例
安裝步驟
1、將已獲取到的SSL證書文件上傳到 Nginx 服務(wù)器的 /etc/nginx 目錄(此處為 Nginx 默認安裝目錄,請根據(jù)實際情況操作)。
2、編輯 Nginx 根目錄下的 nginx.conf 文件。修改內(nèi)容如下:
如找不到以下內(nèi)容,可以手動添加??蓤?zhí)行命令 nginx -t ,找到nginx的配置文件路徑。
此操作可通過執(zhí)行 vim /etc/nginx/nginx.conf 命令行編輯該文件。
由于版本問題,配置文件可能存在不同的寫法。例如:Nginx 版本為 nginx/1.15.0 以上請使用 listen 443 ssl 代替 listen 443 和 ssl on。
證書名稱以22cn為例,nginx.conf文件的修改內(nèi)容如下:
server {
#SSL 默認訪問端口號為 443
listen 443 ssl;
#請?zhí)顚懡壎ㄗC書的域名
server_name 22cn;
#請?zhí)顚懽C書文件的相對路徑或絕對路徑
ssl_certificate 22cn_chain.crt;
#請?zhí)顚懰借€文件的相對路徑或絕對路徑
ssl_certificate_key 22cn.key;
ssl_session_timeout 5m;
#請按照以下協(xié)議配置
ssl_protocols TLSv1.2 TLSv1.3;
#請按照以下套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;
location / {
#網(wǎng)站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操作。
#例如,您的網(wǎng)站主頁在 Nginx 服務(wù)器的 /etc/www 目錄下,則請修改 root 后面的 html 為 /etc/www。
root html; index index.html index.htm;
}
}
3、通過執(zhí)行以下命令驗證配置文件問題。
nginx -t
若存在,請您重新配置或者根據(jù)提示修改存在問題。
若不存在,請執(zhí)行步驟4。
4、通過執(zhí)行以下命令重載 Nginx。
nginx -s reload
5、重載成功,即可使用https://您的域名 進行訪問。
自動跳轉(zhuǎn)https的安全配置
如果需要將 HTTP 請求自動重定向到 HTTPS。請按照如下操作:
1、 根據(jù)實際需求,選擇以下配置方式:
在頁面中添加 JS 腳本。
在后端程序中添加重定向。
通過 Web 服務(wù)器實現(xiàn)跳轉(zhuǎn)。
Nginx 支持 rewrite 功能。若您在編譯時沒有去掉 pcre,您可在 HTTP 的 server 中增加
return 301 https://$host$request_uri;
即可將默認80端口的請求重定向為 HTTPS。
修改如下內(nèi)容:
由于版本問題,配置文件可能存在不同的寫法。例如:Nginx 版本為 nginx/1.15.0 以上請使用 listen 443 ssl 代替 listen 443 和 ssl on。
server { #SSL 默認訪問端口號為 443
listen 443 ssl;
#請?zhí)顚懡壎ㄗC書的域名
server_name 22cn;
#請?zhí)顚懽C書文件的相對路徑或絕對路徑
ssl_certificate 22cn_chain.crt;
#請?zhí)顚懰借€文件的相對路徑或絕對路徑
ssl_certificate_key 22cn.key;
ssl_session_timeout 5m;
#請按照以下套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#請按照以下協(xié)議配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#網(wǎng)站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操作。
#例如,您的網(wǎng)站主頁在 Nginx 服務(wù)器的 /etc/www 目錄下,則請修改 root 后面的 html 為 /etc/www。
root html;
index index.html index.htm;
}
}
server {
listen 80;
#請?zhí)顚懡壎ㄗC書的域名
server_name 22cn;
#把http的域名請求轉(zhuǎn)成https
return 301 https://$host$request_uri;
}
2、通過執(zhí)行以下命令驗證配置文件問題。
nginx -t
若存在,請您重新配置或者根據(jù)提示修改存在問題。
若不存在,請執(zhí)行步驟3。
3、通過執(zhí)行以下命令重載 Nginx。
nginx -s reload