阿里云服务器使用 Certbot 申请免费 HTTPS 证书及自动续期

前言

之前阿里云的免费 ssl 证书还是一年有效期,还可以每年手动的更新一下,还不算麻烦,现在云厂商的免费证书全都变成了3个月有效期,这样子手动更新起来就比较繁琐了。

所以我们来使用 certbot 在服务器上申请免费的证书,并且写个定时任务让他自动续期,彻底解放。

提示

我使用的服务器为阿里云服务器,Centos7.6。
可以先使用参考文章中的来操作,如果不行的话还有一个办法是用 snap。
下面的操作步骤我就是用的 snap 实现的。

操作步骤

一、安装并启用 Snapd

sudo yum install epel-release -y
sudo yum install snapd -y
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

二、手动初始化 Snapd

sudo snap install core
sudo snap ack core
sudo snap install core

这个时候 certbot 命令是在 /snap/bin/certbot 这里。

三、生成证书

域名分为主域名和泛域名;例如百度主域名为: baidu.com ; 百度其他的二级域名的泛域名为: *.baidu.com
执行以下命令生成证书:

# 泛域名:
/snap/bin/certbot certonly -d *.使用自己的域名替换.com --manual --preferred-challenges dns

# 主域名:
/snap/bin/certbot certonly -d 使用自己的域名替换.com --manual --preferred-challenges dns

会提示你输入邮箱,用来做想过通知,尽量使用自己的邮箱就行,不建议乱输入

阿里云服务器使用 Certbot 申请免费 HTTPS 证书及自动续期

一直点 y 同意使用协议,同意邮箱接收信息,然后会提示需要 配置 DNS TXT 解析记录

阿里云服务器使用 Certbot 申请免费 HTTPS 证书及自动续期

我这儿是阿里云,阿里云配置 DNS TXT 解析记录如下:

进入阿里云控制中心 ——》 找到域名解析设置 ——》 添加新纪录 :
记录类型选择 TXT-文本
主机记录填入控制台提供的二级域名: _acme-challenge
解析请求来源选择默认
记录值填入上面控制台打印出来的记录值: v4fa*****8AoIeM(使用自己控制台的值,不要复制文档,文档仅供参考)
然后 保存,等待生效即可

阿里云服务器使用 Certbot 申请免费 HTTPS 证书及自动续期

配置好之后,按回车继续
等待结果相应:
此时,证书就已经生成成功了,但是只有三个月有效期

四、配置 Nginx

server {
        listen       443 ssl;
        server_name    www.test.替换自己的域名.cn test.替换自己的域名.cn;

        # ssl证书地址
        ssl_certificate /etc/letsencrypt/live/yunyechuang.cn/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yunyechuang.cn/privkey.pem;

        # ssl验证相关配置
        ssl_session_timeout 5m;
        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 /secretWJJ {
            proxy_pass http://127.0.0.1:7011;
        }
    }

五、重启 Nginx

# 我是用的 lnmp 集成环境
lnmp nginx reload

六、结尾

至此,完成,现在是手动申请,等3个月后还需要手动续订,然后手动去阿里云添加 dns 解析。

如果想完全自动,可以看 阿里云 DNS 的 Certbot 插件

参考文章

阿里云服务器 使用Certbot申请免费 HTTPS 证书及自动续期
阿里云 DNS 的 Certbot 插件

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2

还是你dior大

6个月前 评论
邢闯洋 (楼主) 6个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!