邊做邊學,順便留個筆記,若有錯誤請不吝指教。
對於想讓網站支援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
在實作的過程中留下中文資料作為紀錄。