文件验证配置 – 在网站放一个验证文件
除了DNS验证,申请SSL证书还可以用文件验证。原理很简单:在网站特定目录放一个文件,证书机构能访问到这个文件就算验证通过。
文件验证的两种方式
HTTP验证:通过80端口访问验证文件,要求网站能正常打开
HTTPS验证:通过443端口访问验证文件,要求网站已经配了SSL证书
大部分情况用HTTP验证就行。HTTPS验证主要用在证书续签的场景——你已经有了一张证书,想换新的,这时候网站已经是HTTPS的了。
什么时候用文件验证
- •没有域名DNS管理权限
- •申请IP证书(必须用文件验证)
- •网站已经能正常访问,想快速验证
- •DNS解析改不了或者改了不生效
拿到验证信息
提交申请后选择文件验证,系统会返回:
- •文件路径:类似 /.well-known/pki-validation/xxxxx.txt
- •文件内容:一段验证用的文本
在服务器上创建验证文件
假设你的网站根目录是 /var/www/html,验证文件路径是 /.well-known/pki-validation/abc123.txt
在服务器上执行:
mkdir -p /var/www/html/.well-known/pki-validation
echo “验证文件内容” > /var/www/html/.well-known/pki-validation/abc123.txt
确保文件权限正确:
chmod 644 /var/www/html/.well-known/pki-validation/abc123.txt
检查文件能不能访问
在浏览器里输入验证文件的完整URL,比如:
http://example.com/.well-known/pki-validation/abc123.txt
如果能正常显示文件内容,说明配置没问题。
如果打不开或者404,检查下面这些:
Nginx配置问题
Nginx可能默认不让访问 .well-known 目录,在server配置里加上:
location ^~ /.well-known/ {
allow all;
root /var/www/html;
try_files $uri =404;
}
改完后执行 nginx -t 测试配置,然后 systemctl reload nginx 重载。
Apache配置问题
Apache一般默认能访问,如果报403错误,检查目录权限:
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
防火墙问题
确保80端口(HTTP验证)或443端口(HTTPS验证)是开着的。
回到申请页面验证
文件能正常访问后,回到SSL免费网点「验证解析」。
系统会去访问你的验证文件,内容对得上就验证通过,然后自动签发证书。
IP证书的文件验证
IP证书只能用文件验证,不能用DNS验证。配置方法跟域名证书一样:
- •在IP对应的服务器上创建验证文件
- •确保通过 http://IP地址/.well-known/… 能访问到
- •回来点验证
需要注意IP地址的80端口或443端口要能从外网访问,否则证书机构访问不到验证文件。
验证完成后
证书签发成功后,验证文件可以删掉,不影响证书使用。.well-known 目录也可以一并清理。
不过留着也没关系,下次申请其他证书可能还会用到这个目录。