SSL证书域名验证主要有三种常用方法,DNS 验证、文件验证(HTTP 文件验证)、邮箱验证,以下是详细的说明和配置方法:
1. DNS 验证 (DNS Validation)
- 原理: CA 会要求你在域名的 DNS 记录中添加一条特定的
TXT
或CNAME
记录。CA 会定期查询 DNS,如果找到匹配的记录,即验证成功。 - 配置方法:
- 申请证书时选择 DNS 验证: 在证书申请流程中,选择“DNS 验证”或类似选项。
- 获取验证记录: CA 会提供你需要添加的 DNS 记录信息,通常包括:
- 记录类型:
TXT
或CNAME
。 - 主机名/名称: 通常是
_acme-challenge.yourdomain.com
(对于TXT
) 或一个指定的随机子域名 (对于CNAME
)。 - 记录值/目标: CA 提供的一个长随机字符串 (对于
TXT
) 或另一个特定的域名 (对于CNAME
)。
- 添加 DNS 记录:
- 登录你的域名注册商或 DNS 托管服务商 (如 Cloudflare, GoDaddy, Route 53, DNSPod, 阿里云DNS等) 的控制面板。
- 找到 DNS 管理区域。
- 添加一条新记录:
- 类型选择
TXT
或CNAME
。 - 主机名/名称填写 CA 提供的内容 (例如
_acme-challenge
)。 - 值/目标填写 CA 提供的内容。
- TTL 通常使用默认值即可。
- 保存并等待传播: 保存更改。使用在线 DNS 查询工具 (如
dig TXT _acme-challenge.yourdomain.com @8.8.8.8
或nslookup -q=txt _acme-challenge.yourdomain.com
) 检查记录是否在全球生效。传播可能需要时间。 - 通知 CA 进行检查: 在 CA 的控制面板或申请流程中,点击“验证”或“检查”按钮。CA 会查询 DNS 进行验证。
- 验证成功后: CA 会签发证书。安全提示: 为安全起见,验证成功后可以删除这条临时的 DNS 记录。
2. 文件验证 ( 网站文件验证)
- 配置方法:
- 申请证书时选择 HTTP 验证: 在证书申请流程中,选择“HTTP 文件验证”或类似选项。
- 获取验证信息: CA 会提供:
- 文件路径: 通常是
http://yourdomain.com/.well-known/pki-validation/
下的一个特定文件名 (如file.txt
)。 - 文件内容: 一个特定的字符串(通常是令牌)。
- 创建文件并上传:
- 在你的 Web 服务器根目录下 (例如
/var/www/html
,/usr/share/nginx/html
,htdocs
等),创建所需的目录结构:.well-known/pki-validation/
。注意.well-known
目录以点开头,在 Linux 下是隐藏目录。 - 在
pki-validation
目录下,用 CA 提供的文件名创建一个文本文件。 - 将 CA 提供的文件内容(仅是那个令牌字符串,没有多余空格或换行)写入该文件。
- 确保文件可公开访问:
- 检查 Web 服务器配置,确保对
/.well-known/
路径的访问没有被阻止(如防火墙、.htaccess 规则、安全插件等)。 - 通过浏览器直接访问
http://yourdomain.com/.well-known/pki-validation/file.txt
(替换为你的实际文件名),确认能正确下载并看到完整且正确的令牌内容。
- 通知 CA 进行检查: 在 CA 的控制面板或申请流程中,点击“验证”或“检查”按钮。CA 会尝试通过 HTTP 访问该文件。
- 验证成功后: CA 会签发证书。安全提示: 验证成功后应立即删除这个临时验证文件。
3. 邮箱验证 (Email Validation)
- 配置方法:
- 申请证书时选择邮箱验证: 在证书申请流程中,选择“邮箱验证”或类似选项。 CA 会向域名 WHOIS 信息中注册的管理员邮箱地址(如
admin@yourdomain.com
,administrator@yourdomain.com
,webmaster@yourdomain.com
,hostmaster@yourdomain.com
,postmaster@yourdomain.com
)发送一封包含验证链接或验证码的邮件。点击链接或输入验证码即可完成验证。(基于你的域名)。 - 接收验证邮件: 检查你域名对应的管理员邮箱收件箱(包括垃圾邮件箱)。
- 完成验证:
- 如果邮件包含链接:点击该链接。
- 如果邮件包含验证码:回到 CA 的申请流程页面,输入该验证码。
- 验证成功后: CA 会签发证书。
总结与选择建议
验证方法 | 适用场景 | 关键要求 | 支持通配符 | 操作复杂度 |
DNS 验证 | 服务器未就绪、验证通配符证书、不希望操作服务器文件 | 域名 DNS 管理权限 | 是 | 中等 |
HTTP 验证 | 服务器已就绪且可公网访问 (80端口)、域名已解析到该服务器 | Web 服务器文件写入权限、公网访问 | 否 | 中等 |
邮箱验证 | 无法操作 DNS 或服务器、且能访问管理员邮箱(较少首选) | 能接收域名 WHOIS 管理员邮箱的邮件 | 是 | 简单 |
- 自动化工具 (如 Certbot/acme.sh): 安信永诚强烈推荐使用这些工具申请和管理证书。它们能自动处理 HTTP 或 DNS 验证的复杂步骤(创建文件、配置临时 HTTP 服务器、添加/删除 DNS 记录等),极大地简化了配置流程和续期操作。配置好自动化工具后,验证过程通常是透明的。