我是靠谱客的博主 害怕果汁,最近开发中收集的这篇文章主要介绍通过Certbot申请通配符HTTPS证书,并自动续订申请证书证书续订,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

申请证书

在需要部署证书的服务器上直接运行以下命令

# 创建目录
mkdir /usr/local/certbot

# 进入目录
cd /usr/local/certbot

# 下载
wget https://dl.eff.org/certbot-auto

# 设为可执行权限
chmod +x certbot-auto

# 加入到系统可执行目录
ln -s /usr/local/certbot/certbot-auto /usr/bin/

# 申请证书,替换成你自己的域名
certbot-auto -d "*.xxx.com.cn" --manual --preferred-challenges dns-01 certonly --server https://acme-v02.api.letsencrypt.org/directory

执行完最后这一步之后,会下载一些需要的依赖,稍等片刻之后,跟据如图提示依次输入:
在这里插入图片描述
注意,申请通配符证书是要经过DNS认证的,按照提示,前往域名后台添加对应的DNS TXT记录。
添加之后,不要心急着按回车,等域名生效之后再按回车确认;

这时可以再开一个ssh终端,安装个小工具

yum install bind-utils

验证一下域名是否生效

dig xxxx.xxx.com.cn txt

域名生效后,按回车确认,到了这一步后,大功告成!!!

证书存放在/etc/letsencrypt/live/xxx.com.cn/里面


证书续订

参考:https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au

由于通配符证书需要验证DNS的TXT记录,为了实现自动续订,人工认证肯定不可取,所以需要让脚本调用DNS服务商提供的API来实现自动认证;

下面以阿里云为例

1、登陆阿里云账号,进入控制台,鼠标指向右上角头像,点击AccessKey管理
在这里插入图片描述
2、主账号权限太大,为了安全,这里强烈建议使用子账号创建AccessKey
在这里插入图片描述
创建子账号
在这里插入图片描述
为子账号添加权限,只开放域名权限就够了
在这里插入图片描述
点击新建的用户,可以获取AccessKey ID和 Secret ;

服务器端工具安装和配置

1、下载工具

# 如果没装git请用wget方式下载并解压
git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au

mv certbot-letencrypt-wildcardcertificates-alydns-au /usr/local/certbot/tool

cd /usr/local/certbot/tool/

chmod +x au.sh

2:配置阿里云/腾讯云的API key 和 Secret

(1)查看配置文件里是否包含你的根域名,如果没有请自行添加。

cat domain.ini

(2)DNS API 密钥:

vi au.sh

找到ALY_KEY 和 ALY_TOKEN 分别填入你的API key 和 Secret

#填写阿里云的AccessKey ID及AccessKey Secret
#如何申请见https://help.aliyun.com/knowledge_detail/38738.html
ALY_KEY=""
ALY_TOKEN=""

(3)运行环境,PHP或者Python,请自行搭建
PHP(>4以上版本均可)
Python(支持2.7和3.7,无需任何第三方库)

设置计划任务

crontab -e

输入以下内容:每天0点1分执行
php 版

1 0 */1 * * root certbot-auto renew --manual --preferred-challenges dns --deploy-hook  "systemctl reload nginx" --manual-auth-hook "/usr/local/certbot/tool/au.sh php aly add" --manual-cleanup-hook "/usr/local/certbot/tool/au.sh php aly clean" 

python版

1 0 */1 * * root certbot-auto renew --manual --preferred-challenges dns --deploy-hook  "systemctl reload nginx" --manual-auth-hook "/usr/local/certbot/tool/au.sh python aly add" --manual-cleanup-hook "/usr/local/certbot/tool/au.sh python aly clean" 

最后

以上就是害怕果汁为你收集整理的通过Certbot申请通配符HTTPS证书,并自动续订申请证书证书续订的全部内容,希望文章能够帮你解决通过Certbot申请通配符HTTPS证书,并自动续订申请证书证书续订所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部