為了實現(xiàn)網(wǎng)站的HTTPS化俊犯,需要在服務器上配置CA證書匾鸥,Let'sEncrypt是一個免費的CA證書,而且提供了Certbot客戶端方便進行安裝仑性。
我的網(wǎng)站環(huán)境:
阿里云ECS + CentOS6.8 + Nginx
安裝CertBot
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
這里遇到一個問題:之前設置了pip的鏡像地址為阿里云古今,導致部分python lib下載不下來屁魏。
解決方法:vi .pip/pip.conf 注釋掉index-url=http://mirrors.aliyun.com/pypi/simple/這一行
安裝Nginx插件
sudo ./path/to/certbot-auto --nginx
# 也支持apache
# sudo ./path/to/certbot-auto --apache
這里也遇到一個問題
- Nginx路徑未加入到到環(huán)境變量,導致certbot找不到nginx
解決方法:ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx ln -s /usr/local/nginx/conf/ /etc/nginx
檢測HTTPS是否可用
此時應該已經(jīng)就可以通過https訪問你的域名了捉腥,可以到https://www.ssllabs.com/ssltest/analyze.html?d=你的域名 檢測一下
注:如果發(fā)現(xiàn)訪問不了蚁堤,請檢查服務器或者ECS的安全組是否開啟了443端口
設置自動更新
由于Let'sEncrypt的證書只有90天的有效期,所以需要在失效前進行刷新但狭,運行如下命令:
./path/to/certbot-auto renew
建議設置crontab實現(xiàn)定時自動刷新披诗,如下配置了每月1號0點進行自動刷新
0 0 1 * * /usr/local/bin/certbot-auto renew --pre-hook "service nginx stop" --post-hook "service nginx start"