非常简单申请通配符证书方案

从头开始安装 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.

     

- 登录到您的 DNS 提供商(如 Cloudflare、阿里云 DNS 等)的管理控制台,添加一个 TXT 记录:
  - **记录名称**: `_acme-challenge.example.com`
  - **记录类型**: `TXT`
  - **记录值**: Certbot 提供的值(如 `xxxxxxxx`)
这里以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 验证来申请通配符证书。后续续期也需要手动完成,但安装过程和证书生成步骤相对简单。

posted @ 2024-09-04 11:42  Monarsoft  阅读(509)  评论(0)    收藏  举报