技術文件

如何在 NGINX 伺服器中安裝 SSL 證書

本篇文章將指導您如何在 NGINX 伺服器中安裝 SSL 證書。在安裝證書之前,您需要用您的伺服器生成一個 CSR(證書申請請求檔)以及將 Private Key (證書金鑰)存放在您的伺服器上

 

如何在 NGINX 上產生 CSR?

CSR 證書是一個文件檔, 將您的域名、公司資料等等訊息用您的伺服器金鑰做加密, 用來申請憑證時的文件檔案, 所有購買 SSL 都需要 CSR

 

輸入以下指令


openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

*.請將 yourdomain 換成您的域名, 例如: 如果您的域名是 gaia.net, 請把 yourdomain.key 和 yourdomain.csr 改成 gaia.net.key 和 gaia.net.csr

 

輸入以下資訊到您的 CSR

  • Country Name: 兩個字母的國際標準化組織 (ISO-) 格式,您組織全法註冊的國家/地區 國碼

  • State or Province Name: 您組織所在地的州/省全名。 請勿使用縮寫

  • Locality Name: 您組織註冊/所在地城市的全名。 請勿使用縮寫

  • Organization Name: 您公司的合法註冊的名稱。 憑證申請中的組織名稱必須是網域名稱的合法註冊人。

  • Organization Unit Name: 使用此欄位區分組織中的部門 (例如「工程」或「人力資源」)

  • Common Name: 您計劃使用憑證的完整網域名稱 (FQDN) 或 URL (您希望客戶使用 SSL 連線的網站區域)

  • Email Address: 輸入您的聯絡e-mail

注意: 以下選項皆為選用, 如果你不想填入, 輸入小數點[.]跳至下一步

  • A challenge password: 選用, CA單位已經沒有在使用, 直接跳過來避免混淆

  • An Optional Company Name: If選用, 如果您的公司名稱太長或太複雜你可以在個欄位輸入較簡短的名稱, 建議直接跳過避免混淆

 

OpenSSL 產生檔案

 key 您的伺服器金鑰, 安裝時會需要用到

 csr 證書申請請求檔, 用來申請證書用

 

複製 yourdomain.csr 檔案

用文字編輯器開啟yourdomain.csr檔案, 打開會出現開頭為 —–BEGIN CERTIFICATE REQUEST—–結尾為—–END CERTIFICATE REQUEST—–中間是亂碼的內容, 請複製到網站上進行購買

 

 

安裝 SSL 證書至在 NGINX 伺服器

證書簽發完之後您可以放心將證書安裝至您的伺服器上

 

  1. 首先, 你需要集合所有憑證到一個檔案中

    l   主要證書檔案

    l   中繼證書檔案

    l   根證書檔案

  2. 執行以下指令將憑證串連
    
    cat yourdomain.crt SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt >> bundle.crt
        
    *範例為Sectigo PositiveSSL bundle憑證
  3. 把串連過後的bundle.crt憑證檔案, 存放至您的NGINX伺服器中
  4. 編輯您的NGINX組態檔(nginx.conf), 需新增443端口在您的virtual host上
  5. 配置以下組態檔的內容

    l   ssl on;

    l   ssl_certificate – 您的憑證檔案包含中繼憑證bundle.crt

    l   ssl_certificate_key – 您的憑證金鑰

  6. 您的組態檔內容會像這樣
    server {
    listen 443;
    ssl on;
    ssl_certificate /etc/ssl/bundle.crt;
    ssl_certificate_key /etc/ssl/yourdomain.key;
    server_name ssl-dragon.com;
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;
    location / {
    root /var/www/;
    index index.html;
    }
    }

  7. 儲存您的配置並重啟NGINX伺服器

    sudo /etc/init.d/nginx restart
        

恭喜您已經完成NGINX伺服器憑證配置

返回