从头开始安装 Certbot 并申请通配符证书的步骤如下:
### 1. 更新系统包并安装 Certbot
根据您的操作系统,首先更新系统包,然后安装 Certbot。
#### 对于 Ubuntu/Debian:
```bash
sudo apt update
sudo apt install certbot
```
#### 对于 CentOS/RHEL:
首先启用 EPEL 仓库:
```bash
sudo yum install epel-release
```
然后安装 Certbot:
```bash
sudo yum install certbot
```
#### 对于 Fedora:
```bash
sudo dnf install certbot
```
### 2. 申请通配符证书
安装完 Certbot 后,使用以下命令来申请通配符证书:
```bash
sudo certbot certonly --manual --preferred-challenges dns -d "*.example.com" -d example.com --server https://acme-v02.api.letsencrypt.org/directory
```
在此命令中:
- `certonly` 表示只生成证书,而不自动配置 Web 服务器。
- `--manual` 启动手动模式,您将手动完成 DNS 验证。
- `--preferred-challenges dns` 指定使用 DNS 验证方式。
- `-d "*.example.com" -d example.com` 指定要申请证书的域名,包括通配符域名和顶级域名。
- `--server https://acme-v02.api.letsencrypt.org/directory` 使用 Let's Encrypt 的 ACME v2 API(支持通配符证书)。
### 3. 手动添加 DNS TXT 记录
执行命令后,Certbot 会提示您手动创建 DNS TXT 记录以验证您对域名的所有权。您需要按照提示进行操作:
-
Certbot 会为每个域名(包括通配符)生成一条 DNS TXT 记录值,并要求您将这些值添加到 DNS 记录中。示例输出如下:
Please deploy a DNS TXT record under the name: _acme-challenge.example.com with the following value: bCTX1已涂鸦LY-N1EBOyi7_N8B4CVF_rf6pPmFQ Before continuing, verify the record is deployed.
这里以cloudflare为例:
- 等待 DNS 记录传播,通常几分钟到几十分钟不等,可以使用以下命令验证 DNS 记录是否已经生效: ```bash nslookup -q=txt _acme-challenge.example.com ``` 也可以使用 Google Dig 查询 如果看到返回的 TXT 记录包含您添加的值,说明 DNS 记录已经生效。
。
- 保存记录并等待 DNS 记录传播。您可以使用 `nslookup` 或 `dig` 命令来验证记录是否已生效:
```bash
nslookup -q= _acme-challenge.example.com
```
### 4. 完成验证
在 DNS 记录生效后,返回到终端并按下回车键,Certbot 将继续处理并验证 DNS 记录。
### 5. 证书生成
验证成功后,Certbot 会生成 SSL 证书,并将其存储在 `/etc/letsencrypt/live/example.com/` 目录下,证书文件包括:
- `cert.pem`: 主域名证书文件。
- `chain.pem`: CA 证书链文件。
- `fullchain.pem`: 完整的证书链文件。
- `privkey.pem`: 私钥文件。
### 6. 手动续期
由于使用的是手动模式,Certbot 无法自动续期通配符证书。您需要在证书到期前(90 天内)重复上述步骤来手动续期证书。
使用以下命令来测试手动续期:
```bash
sudo certbot renew --manual
```
### 总结
您只需安装 `certbot`,然后通过手动模式和 DNS 验证来申请通配符证书。后续续期也需要手动完成,但安装过程和证书生成步骤相对简单。
标签:非常简单,记录,证书,通配符,DNS,com,Certbot From: https://www.cnblogs.com/Monarsoft/p/18396153