如何在Digital Ocean的ubuntu主機上透過certbot配置Let's Encrypt免費且自動續啟用的SSL安全憑證
在有一篇簡單介紹了port 443的 https https://coolmandiary.blogspot.com/2021/02/https.html 和基礎密碼學概念 而一個對外網站通常也對於安全認證算是一個門面 就跟豬肉攤有無拿到標示國產標章是類似概念 約2018之後 沒有HTTPS認證的網站預設會被Chrome瀏覽器標記為不安全 這更會影響流量和讓人多願意停留在此網頁上瀏覽的時間 在此我們採用certbot這套工具 Certbot 可在託管主機上執行的指令 sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install python-certbot-nginx (舊指令) sudo apt install python3-certbot-nginx (新版本要用這只令) 最後 sudo certbot --nginx -d {domain name} -d www.{domain name} 透過指令會自動幫我們 修改nginx default file的port設定指向443 路徑:/etc/nginx/sites-enabled 將預設80改為443 當指令一下會有如下output 這裡要小心注意會有兩個問題回應 其中當問到有用戶想要透過 HTTP 80來進入網站時要做的事情 要輸入2 給他重新導向443 HTTPS前綴的網站路徑 此時將網頁重新刷新就會發現本來顯示不安全的 突然變為有憑證的鎖頭外觀 通常是3個月就到期 這裡用 sudo certbot renew --dry-run 測試印出是否會在到期時重新啟用另一個憑證 移除參數 --dry-run 就會正常執行,會覆蓋舊憑證。 完整經過certbot幫我們弄好的 nginx default file配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 6