HTTPS 解決方案:我個人最推薦的就是Let's Encrypt ,Let's Encrypt 是一個免費、簡單、自動化、安全可靠的 HTTPS 解決方案。下面我們來介紹如何在服務器安裝 SSL 證書,
1.首先訪問 https://certbot.eff.org/ 選擇自己的軟件環境:
看到操作指南:
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository universe $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install certbot python-certbot-nginx
安裝過程中,該直接回車回車,該選Yes輸入Y回車。安裝完成後,執行如下命令:
sudo certbot --nginx
執行這個命令時,Certbot 會先讓你輸入郵箱和同意協議,同意之後會自動檢測 nginx.conf
下面的配置,把所有站點配置都列出來並讓你選擇哪個域名開啓 HTTPS(輸入列表編號,多個用空格分開):
2.輸入編號後回車,我這裏只有一個域名,輸入1
回車,Certbot 就會爲你下載證書並更新對應的站點配置信息了。然後,還會讓你選擇是否在通過 HTTP 協議訪問應用時強制重定向到 HTTPS,1
表示不重定向,2
表示重定向,我選擇了重定向:
我的文章服務器是nginx:重啓是 運行 service nginx reload
重啓 Nginx,
或者配置完, nginx -s reload 重啓即可
由於 Let's Encrypt 默認的有效期是 90 天,所以如果你的應用需要在生產環境長期提供服務,還要在證書到期之後更新證書,我們可以通過 certbot renew
命令來更新證書,你可以通過如下命令來測試該命令是否生效:
sudo certbot renew --dry-run
可以使用定時任務,每個月定時更新
0 0 1 * * certbot renew 5 0 1 * * service nginx restart