Let's encrypt 通配域名(二级, 三级)

本文介绍了如何使用Let's Encrypt为二级和三级域名申请通配符证书,包括手动验证DNS TXT记录、使用API接口、安装certbot命令行工具以及申请流程和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

Let's encrypt 申请通配域名的方式如下:

certbot certonly --manual \
-d '*.exampple.com' \
--agree-tos \
--email domain@example.com \
--server https://acme-v02.api.letsencrypt.org/directory

上面是通配的子域名, 只能是 a.example.com形式, 不能是 a.b.example.com 形式. 要使用更下级的子域有几个要点:

  • 通配域名必须使用--manual参数, --webroot等其他参数是互斥的,不能同时使用.
    --manual表示通过DNS的TXT记录进行验证, --webroot通过Web服务器的访问进行验证.
  • 需要在DNS中添加 b.example.com 的A记录, 这样在 Let's encrypt 发起挑战的时候才能解析到这个域名.
  • 需要添加TXT记录 _acme-challenge.b.example.com
    设置了TXT记录后先别急着回车. 先手工验证一下TXT记录有咩有生效

    dig -t txt _acme-challenge.b.example.com

两个API接口

上面一个是正式的. 签发的证书是浏览器信任的, 下面一个仅用于测试. 我们可以看到它的名字是Fake LE Root X1

Fake 的意思自己百度.

clipboard.png

安装certbot命令行

进入 https://certbot.eff.org/, 选择你的系统, 页面会自动输出对应的各种系统的安装方式.

clipboard.png

Ubuntu 16.04 的安装命令如下:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot 

流水账

1.创建 b.example.com 的A记录
2.执行命令申请通配域名(三级域名)

certbot certonly --manual \
-d '*.b.exampple.com' \
--agree-tos \
--email domain@example.com \
--server https://acme-v02.api.letsencrypt.org/directory

3.输入两次Y, 确认了两次, 终端输出如下形式的东西, 别敲回车

_acme-challenge.b.example.com with the following value:

ZaUsqkBE109SZMDZheM3UUXA-iw6dukTsixXoG_QrSE

4.创建TXT记录
5.验证TXT记录是否生效

dig -t txt _acme-challenge.b.example.com

6.TXT生效后敲回车进行DNS的TXT验证

成功后

你会看到签发给你的证书的域名是这样的 *.b.example.com, 成功之后, 就可以随便添加你的三级域名了.

x.b.example.com
y.b.example.com
z.b.example.com

clipboard.png

注意事项

一定注意使用测试API接口先进行测试. Let's encrypt 失败次数过多会屏蔽你一段时间, 防止滥用.

结语

总的来说, 通配域名减少了为不同的子域名申请不同证书的麻烦. 同时申请过程也比配置Web服务器的验证方式要简单. 只需要修改DNS相关的解析记录就可以了. 比以前方便了不少.

### 使用 Let's Encrypt 获取并安装 SSL 证书 对于 Windows 用户来说,虽然官方推荐的方式是在 Linux 环境下使用 Certbot 来获取和管理 Let’s Encrypt 的 SSL 证书,但这并不意味着无法在 Windows 上完成相同的操作。一种常见的做法是利用 WSL (Windows Subsystem for Linux),它允许用户在一个轻量级的 Linux 环境中运行命令行工具。 #### 方法一:过 WSL 安装 Certbot 并申请证书 1. **启用 WSL** 如果尚未安装 WSL,则需先开启此功能,并选择一个合适的 Linux 发行版进行安装[^1]。 2. **安装 Certbot 及其插件** 打开已安装好的 Linux 终端窗口,在其中执行如下命令以安装 Certbot 和必要的插件: ```bash sudo apt update && sudo apt install certbot python3-certbot-nginx -y ``` 3. **请求新证书** 接下来可以按照需求指定参数调用 `certbot` 命令来创建新的证书文件: ```bash sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com ``` 这里 `-d` 后面跟的是要保护的具体域名域名;如果采用 DNS 验证方式则加上 `--preferred-challenges dns` 参数[^2]。 4. **置 Web 服务器** 将获得的新证书放置到适当位置后,还需要修改 Nginx 或 Apache 等 web server 的置文件以便支持 HTTPS 协议访问。具体操作取决于所使用的服务器软件版本以及个人偏好设置。 5. **设置自动续期机制** 创建定时任务用于每月检查一次即将过期的证书并尝试重新签发它们。可以在 crontab 中加入类似下面这样的条目: ```bash 0 0,12 * * * root test -e /etc/letsencrypt/renewal/example.com.conf && /usr/bin/certbot renew --quiet ``` 6. **重启服务使更改生效** 7. **验证部署成功与否** 测试网页能否正常加载并过浏览器查看连接状态确认是否启用了加密传输。 #### 方法二:借助第三方图形界面客户端 除了上述基于命令行的方法外,还有专门为 Windows 设计的一些 GUI 工具可以帮助更简便地处理整个流程,比如 Win-Acme 软件就是一个不错的选择。这类应用程序常提供了更加直观易懂的操作界面,降低了技术门槛的同时也提高了工作效率[^3]。 ```powershell # PowerShell 示例脚本(仅作示意) Install-Package win-acme.portable -Source https://chocolatey.org/api/v2/ & "C:\Program Files\win-acme\v2.1.9.0\wacs.exe" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值