參考【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 為例。
測試完成,如下圖。