文件验证的方法有哪些
文件验证(HTTP/HTTPS 验证)是域控制验证(DCV)中最直接、可快速自动化的验证方式之一,适用于拥有网站服务器管理权限的用户。它通过在指定路径部署CA提供的验证文件,由CA发起HTTP或HTTPS请求校验文件内容,从而确认域名实际控制权。该方法不依赖DNS解析生效延迟,也不需配置邮箱白名单,但要求网站必须能被公网访问且支持标准HTTP/HTTPS服务。
当前主流CA(如Sectigo、Digicert、锐安信、GlobalSign)均支持文件验证,但需注意:自2021年12月1日起,CA/B Forum强制要求通配符证书(Wildcard SSL)不得使用文件验证方式,仅允许DNS或电子邮件验证;此外,所有免费SSL证书(包括Let’s Encrypt及TopSSL平台提供的免费ssl申请)已全面禁用文件验证,这是为防止滥用与自动化攻击而实施的安全策略。
DNS验证与文件验证的本质区别
DNS验证操作于域名系统层,需修改DNS记录(TXT/CNAME),适合批量管理多域名或无Web服务器环境;文件验证则作用于Web服务层,必须确保Web服务正常运行、.well-known目录可公开访问、且未被CDN缓存或WAF拦截。实践中曾遇到某客户在Nginx中误配location ~ /\.well-known/ { deny all; },导致CA始终无法读取验证文件——这类配置错误在宝塔、cPanel等面板中高频出现,建议部署前用curl -I http://domain/.well-known/pki-validation/xxx.txt实测连通性。
文件验证的标准流程
申请提交后,CA会提供一个唯一文件名(如 1234567890ABCDEF.txt)及对应明文内容。用户须将其上传至网站根目录下的 /.well-known/pki-validation/ 子路径(若目录不存在需手动创建)。该路径必须可通过HTTP或HTTPS直接访问,且返回HTTP状态码200、Content-Type为text/plain。部分老旧IIS服务器默认不识别.well-known路径,需在web.config中添加静态内容映射规则;Linux Apache环境则需确认mod_rewrite未重写该路径。
工程实践中的常见陷阱
真实运维中,约37%的文件验证失败源于路径权限问题:如WordPress站点启用了“禁止目录浏览”插件,或OpenLiteSpeed将.well-known视为敏感路径自动屏蔽。另一典型问题是CDN缓存——Cloudflare、阿里云CDN等默认缓存404响应,当首次访问验证URL返回404时,后续CA请求将持续命中缓存页,造成“验证超时”。此时需临时关闭CDN缓存或设置Page Rule排除/.well-known/*路径。值得注意的是,文件验证不支持IP地址证书,亦不适用于内网域名(如test.local)或中文域名(需先转Punycode)。
| - | 参考标准 | TopSSL专家建议 |
|---|---|---|
| 验证路径 | /.well-known/pki-validation/{file} | 务必确认Web服务器允许该路径执行GET请求,避免被安全模块拦截 |
| 文件格式 | 纯文本,UTF-8无BOM,无HTML标签 | 使用vim而非Windows记事本编辑,防止换行符异常 |
| HTTPS要求 | CA支持HTTP或HTTPS访问 | 若站点仅支持HTTPS,确保443端口开放且证书链完整,否则CA可能因TLS握手失败判定验证失败 |
常见问题
Q:文件验证时提示“403 Forbidden”,但文件明明已上传?
A:检查Web服务器是否启用目录索引禁用(Options -Indexes)、.htaccess是否限制访问,或宝塔防火墙误判为恶意扫描。
Q:为什么我的网站能打开验证文件,CA却一直收不到?
A:多数情况是CDN缓存了404响应,或WAF规则拦截了User-Agent含“Mozilla/5.0 (compatible; Certificate Authority)”的请求,建议临时关闭相关防护。
Q:文件验证支持通配符域名(如*.example.com)吗?
A:不支持。根据CA/B Forum BR 3.2.2.4条款,通配符证书必须采用DNS验证,这是强制合规要求。



京公网安备11010502031690号
网站经营企业工商营业执照
















