操作系统版本:
操作步骤:
1.获取certbot-auto
wget https://dl.eff.org/certbot-auto
2.并设置为可执行权限
chmod u+x certbot-auto
3.申请证书
3.1 执行命令
sudo ./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.my_custom_domain.xyz" --manual --preferred-challenges dns-01 certonly
会处理依赖关系,需要安装或升级依赖软件包才能够继续下去
3.2 更新和安装依赖以后,会要求输入邮箱
输入自己的邮箱,用于紧急更新和安全通知。
3.3 同意各种权限
参考下图的红框输入:
到了步骤3就不要按回车了,此时需要切换到域名管理后台
加入一条DNS解析记录
,以证明你拥有该域名的所有权。
3.4 添加DNS解析
登录域名管理后台,由于DNSPod
域名解析服务已搬迁至腾讯云
,可以使用DNSPod
;以腾讯云的域名服务
为例:
添加以后会有最多10分钟
的生效时间,这里先要确认解析已经生效,才能在配置Let's Encrypt
的终端按回车。
判断解析已经生效,可使用dig _acme-challenge.my_custom_domain.xyz txt
,若出现DNS解析的记录值
,则说明解析已经生效了。
3.5 DNS解析
生效后,在原终端中按回车
继续:
证书已经成功生成,存储的位置在上图中画横线的路径。这两个路径将会用于Nginx的配置。
关于证书有效期:证书有效期90天
,需要使用certbot-auto renew
刷新。
4. Nginx配置
server {
server_name www.my_custom_domain.xyz; #输入自己的域名
listen 443 ssl;
ssl on;
ssl_certificate /etc/letsencrypt/live/my_custom_domain.xyz/fullchain.pem; #输入自己的路径
ssl_certificate_key /etc/letsencrypt/live/my_custom_domain.xyz/privkey.pem; #输入自己的路径
location / {
}
}
重启nginx:/usr/local/nginx/sbin/nginx -s reload
5. 端口号开放的问题
如果浏览器打开提示:my_custom_domain.xyz拒绝了我们的连接请求
。需要注意以下两项:
1.服务器安全组放开443端口
(腾讯云):
2.Centos
放开443端口
;
firewall-cmd --list-ports #查看防火墙开放的端口
firewall-cmd --zone=public --add-port=443/tcp --permanent #防火墙添加443端口
firewall-cmd --reload #重启防火墙