使用CertBot快速幫網站上憑證(https)

邊做邊學,順便留個筆記,若有錯誤請不吝指教。

對於想讓網站支援HTTPS但卻不想花錢購買憑證的站長來說,申請Let’s Encrypt發行的免費憑證是一個不錯的解決方式。

但是免費憑證的有效期只有三個月,對於不想要繁瑣的手動更新,可以透過CertBot來簡化及自動化憑證的申請、導入及更新工作。

這裡我們使用Centos7的Apache伺服器作為範例。

在開始之前,首先你要確認你的 Apache 是否有配置 VirtualHost,檢查 /etc/httpd/conf/httpd.conf 及 IncludeOptional 的其餘檔案中是否有類似這樣的設定:

<VirtualHost *:80>
    ServerName kerker.website
    ServerAlias kerker.website
    DocumentRoot /var/www/kerker.website/html
    ErrorLog /var/www/kerker.website/log/error.log
    CustomLog /var/www/kerker.website/log/requests.log combined
</VirtualHost>

如果沒有類似的設定請手動加一個上去,記得替換成你自己的網址及Log存放路徑,修改完可以先Reload Apache伺服器:

$ service httpd reload

再來我們可以開始安裝CertBot及相關套件了

$ sudo yum install epel-release
$ sudo yum install certbot python2-certbot-apache mod_ssl

安裝完成後直接執行CertBot即可:

$ sudo certbot --apache -d kerker.website

安裝憑證的過程中會出現選項詢問是否強制將 http 轉導至 https,這邊可以依自己的需求決定即可。

安裝完成後會出現 IMPORTANT NOTES: 的提示,會提供安裝的憑證路徑等資訊,到這邊網站的憑證應該已經申請、安裝完成了!

最後只要執行CertBot的自動更新選項就不用擔心憑證過期了

$ sudo certbot renew --dry-run

以上步驟主要是參考此文章:https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-centos-7

在實作的過程中留下中文資料作為紀錄。