Introduction 原先我使用StartSSL的免費Certificate在我的web server上,後來因為此篇 新聞 的原因,導致我需要找新的方法。Let's Encrypt是Linux基金會託管項目,雖然每次證書只有三個月的效用,但可解我燃眉之急。 2024-07-22 後來我改用docker+Let's Encrypt了。 How to? 無法啟動httpd的問題 我參考了 此篇教學 。cerbot這隻程式將一切過程變得相當容易,首先下載cerbot: mkdir / opt / cerbot cd / opt / cerbot wget https: // dl.eff.org / certbot-auto chmod a+x certbot-auto 接著就是使用管理權限執行cerbot,而我遇到的問題是驗證失敗,這是由於驗證伺服器無法連接到我伺服器而造成的。原因是httpd啟動失敗: 這是由於cerbot自動產生一個ssl設定到httpd/conf下,與原本的衝突導致的;於是我註解原本的ssl設定後,就可以正常啟動httpd。最後重新執行certbot,按照指示做重新啟動httpd即可獲得可信任的certificate。 由於它是3個月一簽,透過crontab去幫我們自動更新會比較方便,可以透過以下腳本進行更新: #!/bin/bash / opt / cerbot / cerbot-auto renew --quiet --no-self-upgrade --post-hook "service httpd reload" 在更新後,透過posthook去重新載入httpd設定。crontab設定方法可以參考此link。 多個domain的問題 在完成上面步驟後,我發現www.tonylin.idv.tw可以正常使用,而tonylin.idv.tw不行。後來得知可以透過以下指令擴展domain名稱: . / certbot-auto -d www.tonylin.idv.tw -d tonylin.idv.tw 在執行時,它會問你要擴展還是取代原本的,選擇擴展即可: 最後重新載入httpd即完成。 Reference NGINX 使用 Let’s Encrypt 免費 SSL 憑證設定 ...