承上篇文章《在 GCP 的 Ubuntu 架設Apache 2個 Virtual Host 網站》,本篇要開始做憑證了。
參考《Debian/Ubuntu 環境申請和套用 Let’s Encrypt 免費 SSL 憑證教學》的申請方式
安裝 Certbot
sudo apt-get install certbot python3-certbot-apache -y

申請憑證, 兩個網域同時申請
sudo certbot --apache --email aaronlee0618@gmail.com --agree-tos -d web1.humorousaaron.com -d web2.humorousaaron.com
其實我之前有先把網站設定檔改成 Port 443,它說要先用 Port 80
Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.

好,那我先回去改
cd /etc/apache2/sites-available
sudo vim web1.humorousaaron.com.conf

sudo vim web2.humorousaaron.com.conf

sudo systemctl reload apache2
80 port 開了,順便測名稱解析

第二個

再一次
sudo certbot --apache --email aaronlee0618@gmail.com --agree-tos -d web1.humorousaaron.com -d web2.humorousaaron.com
過關了,開始回答問題

它好貼心,還問要不要從 HTTP redirect 到 HTTPS
我按 2,它一口氣跑完

去檢查一下設定檔,看它改了什麼?
先 ls 一下,它是給這兩個網站多增加 ssl 的設定檔

原來的檔案 web1.humorousaaron.com.conf 沒改

那去看 web1.humorousaaron.com-le-ssl.conf
上半部有 443 Port 的設定,下半部有 SSL 憑證的設定

web2也確認一下,注意它的憑證檔,跟web1是存在一起的喔!

它有說儲存憑證的地方,我們也去看一下
它要有 root 權限才進得去

打開 cert.pem 檔案,可以看到只有一個憑證資料,不太懂,不是有兩個網站嗎?

對了,剛剛申請憑證的訊息,還有提供測試網址

點進去看看
哇!它還會幫你檢查憑證,也太貼心了吧!(需要等它跑完)

跑完之後會看到:

Web2 也是如下:

現在當我在瀏覽器輸入 http://web1.humorousaaron.com/ 按下 Enter 後,它會自動跳轉到 https://web1.humorousaaron.com/ 並且出現鎖頭的圖示,點擊後可查看憑證資訊:

Web2也是,但它秀的是 Web1的憑證

兩個一起看,所以是2個網域使用同一組憑證,原來如此啊,回答了上面的問題。

接下來準備要取消主機的 443 憑證加密,改用 Load Balancer 的 SSL 憑證,但是怕過程中出什麼差錯,我先把 IP 直接改成靜態的,並且對主機先做一個快照。

取名字

主機做快照,臨時用的選即時快照就好了。

確認完成了!
