服务器环境:阿里云,系统:centos7,服务器上有nginx、mysql、php、go等docker环境。
虽然说阿里云的SSL免费证书已经了20个,但是这些都是只能给一个域名的,如果域名很多就就明显不够。
这时候Let’s Encrypt 证书就发挥作用了,虽然只有3个月免费期,但是如果做个3个月的计划任务,我想就应该能解决了。
首先安装Certbot:
cerbot是let’s Encrypt推荐的管理客户端,可以实现自动续签。
yum install -y python3 && pip3 install certbot
使用Certbot的手动模式向Let’s Encrypt 申请证书:
手动模式不受服务器、电脑环境限制,自主性更强。
certbot certonly –manual –preferred-challenges=dns-01
/*
certonly
是子命令,只申请或续约证书,不安装。让你可以在任意一台联网的PC设备上申请证书,不必是你的服务器
--manual
选项指以交互或Shell脚本的方式提交信息,我没有脚本,默认是交互方式
--preferred-challenges
选项以指定域名认证方式,http-01
是文件认证,dns-01
是DNS解析指定TXT认证,这里用的DNS认证,文件认证没试过,毕竟我的目标是脱离服务器来申请证书一般还会加一个选项
--server https://acme-staging-v02.api.letsencrypt.org/directory
用以指定Let’s Encrypt 服务器目录,但如果你仔细看过Certbot的帮助文档,你会发现默认的就是这个服务器,这里可以省略*/
运行上面的命令后,则进入交互模式,以提交相关信息,先是邮箱
然后是同意协议
然后是询问是否订阅消息
最后是设置域名。这里需要注意的是:通配符域名不包含主域名,所以要填上两个,用逗号分隔
通过DNS认证域名所有权:
这里要根据给出的信息给域名设置DNS TXT记录,这里需要注意,这里会出现两次Press Enter to Continue
,每一次都给出一串TXT验证字符, 出现第二次的时候一定要等DNS生效再按回车键 。设置完TXT记录之后不要删除,在后续的续期中会用到。
获取证书:
在确认DNS解析生效之后即可以按回车继续提交,失败会有红色文字提示,一般就是DNS解析未成功,成功则返正确信息,如下。
然后就可以实施部署了。
关于续期
运行命令再来一次即可,完成之后就会发现证书已经延期了,不需要再次部署。
如需转载请注明: 转载自26点的博客