如果获取成功,你的密钥和证书存放在 /etc/letsencrypt/live/xxx.com/ 目录下
错误解决:
- 1、ImportError: cannot import name UnrewindableBodyError
解决办法,重装 urllib3 库,执行命令
pip uninstall urllib3
卸载 urllib3 库
pip install urllib3
安装 urllib3 库
- 2、pkg_resources.DistributionNotFound: The ‘urllib3<1.23,>=1.21.1’ distribution was not found and is required by requests
执行命令
easy_install urllib3==1.21.1
- 3、ImportError: ‘pyOpenSSL’ module missing required functionality. Try upgradin
执行命令
pip install --upgrade --force-reinstall 'requests==2.6.0'
以上就是我遇到的三个问题,期间会有询问的地方,输入 y 即可
以上错误解决完后,再次输入命令获取 ssl 证书
certbot certonly --webroot -w /usr/local/nginx/html/ -d xxx.com -m xxxxxx@xxx.com --agree-tos
没错误,就能够在 /etc/letsencrypt/live/xxx.com/ 目录下看到你的 ssl 证书了
注意: 该证书 90 天有效,到期需要重新申请,你也可以通过定时任务来定时更新 ssl 证书
4、配置 nginx HTTPS server
编辑 nginx 的配置文件
cd /usr/local/nginx/conf/
编辑 nginx.conf 文件
vim nginx.conf
在 server {} 后面加入以下内容
# HTTPS server server { # 监听端口,默认443 listen 443 ssl; # 你的域名 server_name xxx.com; # 你证书的位置 ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # 默认首页 location / { root html; index index.html index.htm; } }
5、访问测试
重启 nginx,进入 sbin 目录
cd /usr/local/nginx/sbin
输入命令
./nginx -s reload
浏览器访问
https://xxx.com
表示,我们的 ssl 证书生效,https 配置成功