Nginx https服務器證書安裝步驟


本文檔指導您如何在 Nginx 服務器中安裝 SSL 證書。

說明:

 

  • 本文檔以證書名稱 www.domain.com 為例。
  • Nginx 版本以 nginx/1.16.0 為例。
  • 當前服務器的操作系統為 CentOS 7,由於操作系統的版本不同,詳細操作步驟略有區別。

前提條件

  • 已准備文件遠程拷貝軟件,例如 WinSCP(建議從官方網站獲取最新版本)。
  • 已准備遠程登錄工具,例如 PuTTY 或者 Xshell(建議從官方網站獲取最新版本)。
  • 已在當前服務器中安裝配置 Nginx 服務。
  • 安裝 SSL 證書前需准備的數據如下:
    名稱 說明
    服務器的 IP 地址 服務器的 IP 地址,用於 PC 連接到服務器。
    用戶名 登錄服務器的用戶名。
    密碼 登錄服務器的密碼。

操作步驟

證書安裝

  1. 已在 SSL 證書管理控制台 中下載並解壓縮 www.domain.com 證書文件包到本地目錄。
    解壓縮后,可獲得相關類型的證書文件。其中包含 Nginx 文件夾和 CSR 文件:
    • 文件夾名稱:Nginx
    • 文件夾內容:
      • 1_www.domain.com_bundle.crt 證書文件
      • 2_www.domain.com.key 私鑰文件
    • CSR 文件內容: www.domain.com.csr 文件
      說明:

      CSR 文件是申請證書時由您上傳或系統在線生成的,提供給 CA 機構。安裝時可忽略該文件。

  2. 使用 “WinSCP”(即本地與遠程計算機間的復制文件工具)登錄 Nginx 服務器。
  3. 將已獲取到的 1_www.domain.com_bundle.crt 證書文件和 2_www.domain.com.key 私鑰文件從本地目錄拷貝到 Nginx 服務器的 /usr/local/nginx/conf 目錄下。
    說明:

    若無 /usr/local/nginx/conf 目錄,可通過執行 mkdir /usr/local/nginx/conf 命令行創建。

  4. 遠程登錄 Nginx 服務器。例如,使用 “PuTTY” 工具 登錄。
  5. 編輯 Nginx 根目錄下的 conf/nginx.conf 文件。修改內容如下:
    說明:

     

    • 此操作可通過執行 vim /usr/local/nginx/conf/nginx.conf 命令行編輯該文件。
    • 由於版本問題,配置文件可能存在不同的寫法。例如:使用 listen 443 ssl 代替 listen 443 和 ssl on
    server { #SSL 訪問端口號為 443 listen 443; #填寫綁定證書的域名 server_name www.domain.com; #啟用 SSL 功能 ssl on; #證書文件名稱 ssl_certificate 1_www.domain.com_bundle.crt; #私鑰文件名稱 ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; #請按照這個協議配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #請按照這個套件配置,配置加密套件,寫法遵循 openssl 標准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { #網站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操作。 root /var/www/www.domain.com; index index.html index.htm; } }
  6. 在 Nginx 根目錄下,通過執行以下命令驗證配置文件問題。
    ./sbin/nginx -t
    • 若存在,請您重新配置或者根據提示修改存在問題。
    • 若不存在,請執行 步驟7。
  7. 重啟 Nginx,即可使用 https://www.domain.com 進行訪問。

HTTP 自動跳轉 HTTPS 的安全配置(可選)

若您不了解通過 HTTPS 訪問網站的方式,可以通過配置服務器,讓其自動將 HTTP 的請求重定向到 HTTPS。您可以通過以下操作設置:

  1. 根據實際需求,選擇以下配置方式:
    • 在頁面中添加 JS 腳本。
    • 在后端程序中添加重定向。
    • 通過 Web 服務器實現跳轉。
    • Nginx 支持 rewrite 功能。若您在編譯時沒有去掉 pcre,您可在 HTTP 的 server 中增加 rewrite ^(.*) https://$host$1 permanent;,即可將默認80端口的請求重定向為 HTTPS。修改如下內容:
      server { listen 443; #填寫綁定證書的域名 server_name www.domain.com; ssl on; #網站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操作。 root /var/www/www.domain.com; index index.html index.htm; #證書文件名稱 ssl_certificate 1_www.domain.com_bundle.crt; #私鑰文件名稱 ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { index index.html index.htm; } } server { listen 80; #填寫綁定證書的域名 server_name www.domain.com; #把http的域名請求轉成https rewrite ^(.*)$ https://$host$1 permanent; }
      說明:

      未添加注釋的配置語句,您按照上述配置即可。

  2. 若修改完成,重啟 Nginx。即可使用 http://www.domain.com 進行訪問。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM