千家信息网

如何申请Let's Encrypt通配符HTTPS证书

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"如何申请Let's Encrypt通配符HTTPS证书",在日常操作中,相信很多人在如何申请Let's Encrypt通配符HTTPS证书问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2025年12月02日如何申请Let's Encrypt通配符HTTPS证书

这篇文章主要介绍"如何申请Let's Encrypt通配符HTTPS证书",在日常操作中,相信很多人在如何申请Let's Encrypt通配符HTTPS证书问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何申请Let's Encrypt通配符HTTPS证书"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

注 本教程是在centos 7下操作的,其他Linux系统大同小异。

2018.03.15 20:48 更新了通过acme.sh方式获取证书的方法,墙裂推荐这种方法
2018.08.13 18:30 增加可通过docker镜像获取证书的方法

一、acme.sh的方式

1.获取acme.sh

curl https://get.acme.sh | sh

如下所示安装成功

注:我在centos 7上遇到问题,安装完后执行acme.sh,提示命令没找到,如果遇到跟我一样的问题,请关掉终端然后再登陆,或者执行以下指令:

source ~/.bashrc

2.开始获取证书

acme.sh强大之处在于,可以自动配置DNS,不用去域名后台操作解析记录了,我的域名是在阿里注册的,下面给出阿里云解析的例子,其他地方注册的请参考这里自行修改:传送门

请先前往阿里云后台获取App_KeyApp_Secret 传送门,然后执行以下脚本

# 替换成从阿里云后台获取的密钥export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"# 换成自己的域名acme.sh --issue --dns dns_ali -d zhuziyu.cn -d *.zhuziyu.cn

这里是通过线程休眠120秒等待DNS生效的方式,所以至少需要等待两分钟

到了这一步大功告成,撒花

生成的证书放在该目录下: ~/acme.sh/domain/

下面是一个Nginx应用该证书的例子:

# domain自行替换成自己的域名server {    server_name xx.domain.com;    listen 443 http2 ssl;    ssl_certificate /path/.acme.sh/domain/fullchain.cer;    ssl_certificate_key /path/.acme.sh/domain/domain.key;    ssl_trusted_certificate  /path/.acme.sh/domain/ca.cer;    location / {        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header Host $host;        proxy_pass http://127.0.0.1:10086;    }}

acme.shcertbot的方式更加自动化,省去了手动去域名后台改DNS记录的步骤,而且不用依赖Python,墙裂推荐

第一次成功之后,acme.sh会记录下App_Key跟App_Secret,并且生成一个定时任务,每天凌晨0:00自动检测过期域名并且自动续期。对这种方式有顾虑的,请慎重,不过也可以自行删掉用户级的定时任务,并且清理掉~/.acme.sh文件夹就行

二、 docker 镜像获取

如果装有docker环境的话,也可以用docker镜像来获取证书,只需一行命令即可

docker run --rm  -it  \  -v "$(pwd)/out":/acme.sh  \  -e Ali_Key="xxxxxx" \  -e Ali_Secret="xxxx" \  neilpang/acme.sh  --issue --dns dns_ali -d domain.cn -d *.domain.cn

成功之后,证书会保存在当前目录下的out文件夹,也可以指定路径,修改上面第一行 "$(pwd)/out",改为你想要保存的路径即可。

详细用法,可以参考:传送门

获取下来的证书跟方式一 获取的一模一样,其他信息请参考方式一。

三、 certbot方式获取证书[不推荐]

1.获取certbot-auto

# 下载wget https://dl.eff.org/certbot-auto# 设为可执行权限chmod a+x certbot-auto

2.开始申请证书

# 注xxx.com请根据自己的域名自行更改./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly

执行完这一步之后,会下载一些需要的依赖,稍等片刻之后,会提示输入邮箱,随便输入都行【该邮箱用于安全提醒以及续期提醒】

注意,申请通配符证书是要经过DNS认证的,按照提示,前往域名后台添加对应的DNS TXT记录。添加之后,不要心急着按回车,先执行dig xxxx.xxx.com txt确认解析记录是否生效,生效之后再回去按回车确认

到了这一步后,大功告成!!! 证书存放在/etc/letsencrypt/live/xxx.com/里面

要续期的话,执行certbot-auto renew就可以了

注:经评论区 ddatsh 的指点,这样的证书无法应用到主域名xxx.com上,如需把主域名也增加到证书的覆盖范围,请在开始申请证书步骤的那个指令把主域名也加上,如下: 需要注意的是,这样的话需要修改两次解析记录

./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d "*.xxx.com" -d "xxx.com" --manual --preferred-challenges dns-01 certonly

下面是一个nginx应用该证书的一个例子

server {    server_name xxx.com;    listen 443 http2 ssl;    ssl on;    ssl_certificate /etc/cert/xxx.cn/fullchain.pem;    ssl_certificate_key /etc/cert/xxx.cn/privkey.pem;    ssl_trusted_certificate  /etc/cert/xxx.cn/chain.pem;    location / {      proxy_pass http://127.0.0.1:6666;    }}

到此,关于"如何申请Let's Encrypt通配符HTTPS证书"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

证书 域名 方式 通配符 后台 方法 阿里 学习 成功 例子 镜像 问题 参考 应用 推荐 提示 大功告成 一行 不用 任务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库sql人事管理系统 数据库三个数比大小思路 探索报纸的数据库平台有什么 怎么去给定数据库表的字段长度 苏州万户网络技术有限公司 geegee手机验证服务器繁忙 北京后厂村网络技术有限公司 自动化测试和软件开发哪个难 软件开发公司短期发展计划 江苏专业网络技术服务五星服务 服务器虚拟化的两种产品 自动备份acess数据库 刀片服务器的管理IP 南京品质优良网络技术服务价格 网络技术在企业管理中 php连接云数据库 网络安全员有哪些证书 泰康人寿软件开发待遇怎么样 传智播客数据库视频 计算机网络安全与防范论文30页 西藏便民平台软件开发公司 服务器连接mysql第一次成功 网络安全等级制度20 福州快搜网络技术有限公司地址 电商软件开发毕业分配 网安大队开展网络安全宣传 宣城软件开发 现在网络安全最好的是哪个国家 企业建筑工程造价数据库 石河子行业专业软件开发
0