Nginx 伺服器安裝 SSL 證書
您可透過將 SSL 證書安裝到 Nginx 伺服器,讓 Nginx 伺服器支援 HTTPS 安全存取。本文介紹如何在 Nginx 伺服器安裝 SSL 證書。
說明
本文件 Nginx 版本以 nginx/1.18.0 為例。
安裝前請確認 443 連接埠未被佔用,若 443 連接埠已在使用中,請於安裝證書時綁定其他連接埠。
取得證書
- 我方為您簽發證書後,將會核發壓縮格式(.zip)的證書檔案,壓縮包內有四個資料夾,分別對應四種證書格式:Tomcat、Nginx、IIS、Apache;Nginx 伺服器需使用 Nginx 資料夾內的證書。
- Nginx 資料夾中將包含兩個檔案:
domain_com_integrated.crt證書檔案domain_com.key私鑰檔案
安裝 SSL 證書
- 將已取得的
domain_com_integrated.crt證書檔案、domain_com.key私鑰檔案從本機目錄複製到 Nginx 伺服器的/etc/nginx/ssl目錄下。
- 若
/etc/nginx/ssl目錄不存在,可透過mkdir -p /etc/nginx/ssl指令建立 - 不同安裝方式之間的目錄位置可能存在差異,請以實際情況為準。
- 編輯 Nginx 根目錄下的
nginx.conf檔案。修改內容如下:
nginx.conf
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;
#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
注意
由於版本差異,設定檔可能會有不同的寫法。例如:Nginx 版本為 nginx/1.15.0 以下,請使用 listen 443 和 ssl on 取代 listen 443 ssl。
修改完成後儲存設定檔,並執行以下指令:
nginx -t #验证配置文件是否正确
nginx -s reload #重载 Nginx
測試 SSL 證書
在瀏覽器網址列輸入已綁定 SSL 證書的網域名稱,測試您的 SSL 證書是否安裝成功。若安裝成功,瀏覽器網址列將會顯示安全鎖圖示,點擊即可查看證書資訊。

HTTP 自動跳轉 HTTPS 的安全設定(選用)
若您需要將 HTTP 請求自動重新導向至 HTTPS,可透過下列步驟進行設定:
- 使用 Nginx 重新導向功能,於 HTTP 的
server中加入return 301 https://$host$request_uri;,即可將HTTP請求重新導向為HTTPS。請修改下列內容:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
- 重新啟動 Nginx 伺服器即可使用網域名稱存取,實現
HTTP自動跳轉HTTPS。