WordPress 使用https (在Nginx Web Server 上)

參考【WordPress 使用https】文章,我們已經知道如何在Apache Web Server 上,申請SSL 憑證。以下要介紹,若WordPress 是建立在Nginx Web Server 上,該如何申請SSL 憑證。
1. 參考Bitnami 官方文件,主要使用Lego 來處理SSL 憑證。根據文章,我們使用SSH 連入有安裝WordPress 的VM,如下圖。
2. 使用SSH 連入VM 之後,根據文章,我們可以確Web Server 是否為Nginx。
3. 安裝Lego。在終端機下,輸入以下指令,開始下載Lego。
cd /tmp
curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
下載完成之後,可以得到如下圖。
輸入以下指令,解壓縮Lego。
tar xf lego_v4.17.4_linux_amd64.tar.gz
輸入以下指令,將Lego 複製到letsencrypt 資料夾下。
sudo mkdir -p /opt/bitnami/letsencrypt
sudo mv lego /opt/bitnami/letsencrypt/lego
4. 輸入以下指令,停止Bitnami Service。
sudo /opt/bitnami/ctlscript.sh stop
5. 開始申請SSL 憑證。輸入以下指令,來請申WordPress 網站SSL 憑證。
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" run
舉例來說,我的mintrabbitplus@gmail.com 為申請domain name (mintrabbitplus.com) 的信箱。因此,EMAIL-ADDRESS 就需填mintrabbitplus@gmail.com,DOMAIN 就需填mintrabbitplus.com。
sudo /opt/bitnami/letsencrypt/lego --tls --email="mintrabbitplus@gmail.com" --domains="mintrabbitplus.com" --path="/opt/bitnami/letsencrypt" run
6. 輸入以下指令,將申請好的憑證掛上Nginx。
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.csr /opt/bitnami/nginx/conf/bitnami/certs/server.csr.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/你的網域.key /opt/bitnami/nginx/conf/bitnami/certs/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/你的網域.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
sudo chown root:root /opt/bitnami/nginx/conf/bitnami/certs/server*
sudo chmod 600 /opt/bitnami/nginx/conf/bitnami/certs/server*
其中【你的網域】填入第5步驟的”DOMAIN”值。舉例來說,我的DOMAIN 為mintrabbitplus.com,則【你的網域】就是mintrabbitplus.com,如下。
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.csr /opt/bitnami/nginx/conf/bitnami/certs/server.csr.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/mintrabbitplus.com.key /opt/bitnami/nginx/conf/bitnami/certs/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/mintrabbitplus.com.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
sudo chown root:root /opt/bitnami/nginx/conf/bitnami/certs/server*
sudo chmod 600 /opt/bitnami/nginx/conf/bitnami/certs/server*
7. 輸入以下指令,重新啟動Bitnami Service。
sudo /opt/bitnami/ctlscript.sh start
8. 完成以上步驟之後,到此網站測SSL 憑證是否成功,如下圖,以mintrabbitplus.com 為例。

測試完成,如下圖。

發佈留言

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