0. DNS要能解析你的网址(域名解析和主机解析,例如example.com和www.example.com都要能解析。注意泛解析记录*.example.com可以存在但在本文中暂时无法用于https[?需要certbot支持该DNS Provider。待考。?])
1. 添加epel源,方法自行google;
2. 访问https://letsencrypt.org/getting-started/,根据其提供的链接跳转到certbot,根据提示选择CentOS 7和nginx,可看到安装步骤;
3. 安装certbot:
# yum install python2-certbot-nginx
4. 修改nginx配置文件,在server节的server_name变量添加服务器名称:
server_name localhost example.com www.example.com
5. 执行certbot:
# certbot --nginx
根据提示完成操作,注意按提示备份文件。
6. 重新启动nginx
7. 访问www.example.com测试
Q & A
Q1. certbot提示缺少urllib3
A1. pip install urllib3
Q2. certbot提示缺pyOpenSSL
A2. pip install pyOpenSSL
Q3. 已安装urllib3和pyOpenSSL的最新版本,但仍提示版本过低,或缺这两个模块(之一)。
A3. 此种情况可能是因为yum和pip同时安装了urllib3和pyOpenSSL。
可使用yum list installed和pip list install检查。
从yum侧强制删除这两个模块(rpm -e --nodeps),从pip侧uninstall这两个模块然后重新pip install。
Q4. certbot生成了密钥但提示Unable to install the certificate
A4. nginx的server节中server_name变量需要包含你的域名条目和主机条目。