本篇文章將指導您如何在 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 伺服器
證書簽發完之後您可以放心將證書安裝至您的伺服器上
- 首先, 你需要集合所有憑證到一個檔案中
l 主要證書檔案
l 中繼證書檔案
l 根證書檔案
- 執行以下指令將憑證串連
cat yourdomain.crt SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt >> bundle.crt
- 把串連過後的bundle.crt憑證檔案, 存放至您的NGINX伺服器中
- 編輯您的NGINX組態檔(nginx.conf), 需新增443端口在您的virtual host上
- 配置以下組態檔的內容
l ssl on;
l ssl_certificate – 您的憑證檔案包含中繼憑證bundle.crt
l ssl_certificate_key – 您的憑證金鑰
-
您的組態檔內容會像這樣
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;
}
} -
儲存您的配置並重啟NGINX伺服器
sudo /etc/init.d/nginx restart
恭喜您已經完成NGINX伺服器憑證配置