一、操作場景本文檔指導您如何在 Nginx 服務器中安裝 SSL 證書。
前提條件已準備遠程登錄工具,例如 PuTTY 或者 Xshell(建議從官方網站獲取最新版本)。或有其他遠程登陸工具也可。
已在當前服務器中安裝配置含有 http_ssl_module 模塊的 Nginx 服務。
安裝 SSL 證書前需準備的數據如下:(需要有網站服務器登陸權限)
二、操作步驟1.下載獲取證書證書下載類型選擇 Nginx,保存證書文件包到本地目錄。 解壓縮后,可獲得相關類型的證書文件。
test.com_cert_chain.pem 證書文件(含證書鏈)
test.com_key.key 私鑰文件
2.部署證書① 使用 Xshell等遠程工具登錄服務器,上傳證書相關文件到服務器,保存至相關目錄。
② 編輯 Nginx 根目錄下的 nginx.conf 文件。修改內容如下:
說明:如找不到以下內容,可執行命令 nginx -t ,找到nginx的配置文件路徑。如下圖示例:
③ 通過執行 vim /etc/nginx/nginx.conf 命令行編輯該文件。
由于版本問題,配置文件可能存在不同的寫法。例如:Nginx 版本為 nginx/1.15.0 以上請使用 listen 443 ssl 代替 listen 443 和 ssl on。
server { #SSL 默認訪問端口號為 443 listen 443 ssl; #請填寫綁定證書的域名 server_name test.com; #請填寫證書文件的相對路徑或絕對路徑 ssl_certificate test.com_cert_chain.pem; #請填寫私鑰文件的相對路徑或絕對路徑 ssl_certificate_key test.com_key.key; ssl_session_timeout 5m; #請按照以下協議配置 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #請按照以下套件配置,配置加密套件,寫法遵循 openssl 標準。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { #網站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操作。 #例如,您的網站主頁在 Nginx 服務器的 /etc/www 目錄下,則請修改 root 后面的 html 為 /etc/www。 root html; index index.html index.htm; } }④ 通過執行以下命令驗證配置文件問題。
nginx -t若存在,請您重新配置或者根據提示修改存在問題。
⑤ 通過執行以下命令重載 Nginx。
nginx -s reload⑥ 重載成功,即可使用 https://yourdomain 進行訪問(以實際網站地址訪問)
如果瀏覽器地址欄顯示安全標識,則說明證書安裝成功。如下圖所示:
附:HTTP 自動跳轉 HTTPS 的安全配置(可選)
如果您需要將 HTTP 請求自動重定向到 HTTPS,您可以通過以下操作設置:
① 根據實際需求,選擇以下配置方式:
· 在頁面中添加 JS 腳本。
· 在后端程序中添加重定向。
· 通過 Web 服務器實現跳轉。
Nginx 支持 rewrite 功能。若您在編譯時沒有去掉 pcre,您可在 HTTP 的 server 中增加
return 301 https://$host$request_uri; ,即可將默認80端口的請求重定向為 HTTPS。
修改如下內容:
說明:未添加注釋的配置語句,您按照下述配置即可。
由于版本問題,配置文件可能存在不同的寫法。例如:Nginx 版本為 nginx/1.15.0 以上請使用 listen 443 ssl 代替 listen 443 和 ssl on。
server { #SSL 默認訪問端口號為 443 listen 443 ssl; #請填寫綁定證書的域名 server_name test.com; #請填寫證書文件的相對路徑或絕對路徑 ssl_certificate test.com_cert_chain.pem; #請填寫私鑰文件的相對路徑或絕對路徑 ssl_certificate_key test.com_key.key; ssl_session_timeout 5m; #請按照以下套件配置,配置加密套件,寫法遵循 openssl 標準。 ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4 #請按照以下協議配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; location / { #網站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操作。 #例如,您的網站主頁在 Nginx 服務器的 /etc/www 目錄下,則請修改 root 后面的 html 為 /etc/www。 root html; index index.html index.htm; } } server { listen 80; #請填寫綁定證書的域名 server_name test.com; #把http的域名請求轉成https return 301 https://$host$request_uri; }② 通過執行以下命令驗證配置文件問題。
nginx -t若存在,請您重新配置或者根據提示修改存在問題。
③ 通過執行以下命令重載 Nginx。
ginx -s reload④ 重載成功,即可使用 https://yourdomain進行訪問(以實際網站地址訪問)
如果瀏覽器地址欄顯示安全標識,則說明證書安裝成功。如下圖所示:
