WordPress 安裝 Comodo Positive SSL

WordPress 安裝 Comodo Positive SSL 憑證

Written by

這裡所說的 WordPress 安裝 Comodo Positive SSL 憑證,是針對 LNMP VPS 的安裝方法,無法使用在虛擬主機上,虛擬主機的安裝 SSL (HTTPS) 加密證書,請求客服是最快的方法。

在 VPS 上安裝 Let’s Encrypt 憑證,免費又簡單,都快忘記如何安裝要花錢的 Comodo Positive SSL 憑證,自己筆記一下。

如果在 Webinoly 系統中,需要安裝購買的 SSL 憑證,非常容易,可以先安裝 Let’s Encrypt 憑證,利用 Webinoly 的腳本配置 Nginx,然後再更改為 Comodo Positive SSL 憑證,可以省掉自己 SSL 配置。

先在網站加上 Let’s Encrypt SSL 憑證指令:

sudo site example.com -ssl-on

接下來,在購買 Comodo Positive SSL 憑證前,我們先要自己的 VPS 上創建一個 RSA 私鑰和 CSR 證書,CSR 證書在購買 Comodo Positive SSL 憑證時會用的到。

Nginx 主機上創建 RSA 私鑰和 CSR 證書

創建一個目錄來存放 example.com 域名的密鑰和證書,建議目錄創建在該域名目錄下 (請將 example.com 更換為你的域名)。

mkdir /var/www/example.com/cert/
cd /var/www/example.com/cert/

接下來,創建一個 2048 位元的私鑰:

openssl genrsa -out example.com.key 2048

最後創建 CSR 證書,執行指令將會詢問您一些詳細信息。

openssl req -new -key example.com.key -out example.com.csr -sha256

指令回覆:

Country Name (2 letter code) [AU]:TW  //輸入國家簡稱
State or Province Name (full name) [Some-State]:Taipei  //省市
Locality Name (eg, city) []:Taipei  //城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:yungke ltd.  //組織或公司名稱
Organizational Unit Name (eg, section) []:  //可以不用填
Common Name (eg, YOUR name) []:yungke.me  //輸入要配置的 ssl 證書的域名,注意:Comodo SSL 在同一證書中提供 www.example.com 和 example.com 兩種。
Email Address []:hello@yungke.me  //輸入你的 mail 信箱

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:    //可以不用填
An optional company name []:    //可以不用填

按上面的註解輸入相關資料後,會在 /var/www/example.com/cert/ 目錄下面生成 yungke.me.csr 這個文件。

購買 SSL 證書

可以在您的域名商購買,或是 comodo 官網,或是一些代理商 ssls.com & ssl.do

https://www.ssls.com/

https://ssl.do/

沒有特殊需求,我自己都會購買 Positive SSL DV 證書就可以了,部落格使用而已,價格便宜,一年約 6 美金左右。

購買後要啟動證書,證書商會請你填入 CSR 資料,就是上面步驟 VPS 生成的 example.com.csr 文件,使用 Notepad++ 文書編輯器打開,然後複製到您所購買的證書商網頁上。

還有一個要注意的地方,有的證書商要證明這個域名是您所有,填入 mail 時,要使用域名信箱才行,例如:admin@yungke.me,您如果填入一般的 gmail 信箱,是會收不到證書的。

正確提交資料後,證書商會先寄一封信箱驗證郵件,點取指示連結,填入識別碼提交,就可以等待域名證書批准。

合併 SSL 證書文件

第二封郵件將包含 SSL 證書的 zip 文件,下載解壓縮後,會得到 4 個文件。

  • AddTrustExternalCARoot.crt #CA 根證書
  • COMODORSAAddTrustCA.crt #CA 中級證書
  • COMODORSADomainValidationSecureServerCA.crt #CA 中級證書
  • woowp_pro.crt #您的 PositiveSSL 證書

因為要各瀏覽器識別,並且不會有安全錯誤,我們還需要合併這 4 個證書文件,生成一個最終的證書。

先將這 4 個文件上傳到 /var/www/example.com/cert/ 目錄下。

注意:合併時要注意順序,不要弄錯了。(請將 example_com.crt 更換成您的域名)

cd /var/www/example.com/cert/
cat example_com.crt COMODORSADomainValidationSecureServerCA.crt  COMODORSAAddTrustCA.crt > example.com.crt

Nginx 虛擬主機的配置

原本的域名已經有安裝 Let’s Encrypt 憑證,現在我們只要至換掉證書,請打開 /var/nginx/sites-available/example.com 文件。

原本的 SSL 配置

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

置換成

ssl_certificate /var/www/example.com/cert/example.com.crt;
ssl_certificate_key /var/www/example.com/cert/example.com.key;

保存文件,執行 nginx -t 檢查配置是否有錯誤。

沒有錯誤,重啟 Nginx 讓 SSL 配置生效

service nginx restart

驗證 SSL 證書安裝

這是最重要的一個步驟,驗證我們安裝的 PositiveSSL DV 證書是否正確。

可以利用一些 SSL Shopper 線上工具:

https://www.sslshopper.com/ssl-checker.html

結語

我很偷懶,沒有重新 SSL 配置,是利用 Webinoly 預設的 SSL 證書的配置來修改,因為 Webinoly 的 SSL 配置有優化過,並加入 OCSP Stapling 的優化,並且獲得 Qualys 測試的 A+ 成績。

測試連結:

https://www.ssllabs.com/ssltest/analyze.html?d=woowp.pro

woowp.pro SSL A+
hosted by kinsta

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Your Mastodon Instance