最新資訊
科技趨勢

雲端整合專家,提供全方位雲端顧問服務

科技趨勢

如何在 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伺服器憑證配置