最近在某云平台上申请了SSL证书(https),SSL证书申请或者续期过程中需要进行域名验证。
如果域名验证类型选择【文件】方式,等你提交申请后,要在目标域名对应的服务端上传一个文件(通常是一个.txt文件),然后通过公网可访问URL的方式访问这个文件,以此来证明你的域名是在你的服务器上。
即,如果你申请证书的域名是 https://域名,就得 https://域名/.well-known/pki-validation/fileauth.txt 能被公网访问到。最简单的方法是把这个文件直接放到web应用程序对应的目录下。如果是通过反向代理到集群环境,在很多服务器上放置和更换这个文件就不划算了,或者是由于其他原因不方便暴露应用程序路径的。可以直接在反向代理上面放置然后使它被访问到。我这里反向代理用的是Nginx。方法如下:
Nginx配置http方式访问:http://域名/.well-known/pki-validation/fileauth.txt 规则:
server { listen 80; server_name localhost www.test.com; #charset koi8-r; access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #http://10.90.3.106/.well-known/pki-validation/fileauth.txt location /.well-known/pki-validation/ { #root /usr/share/nginx/html/.well-known/pki-validation/; alias /usr/share/nginx/html/; index index.html index.htm; } #其他配置规则 }
Nginx配置https方式访问:https://域名/.well-known/pki-validation/fileauth.txt 规则:
server { listen 443; server_name localhost www.test.com; #charset koi8-r; access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #https://10.90.3.106:443/.well-known/pki-validation/fileauth.txt location /.well-known/pki-validation/ { #root /usr/share/nginx/html/.well-known/pki-validation/; alias /usr/share/nginx/html/; index index.html index.htm; } #其他配置规则 }
并将 fileauth.txt 文件放置到 /usr/share/nginx/html/ 目录下即可,我这里是alias,如果是root 则需要放置 /usr/share/nginx/html/.well-known/pki-validation/ 目录下。原因请自行了解alias与root 区别。
然后重启Nginx。通过浏览器访问效果如下:
【关键点】:
1,Nginx配置规则和文件放置目录;
2,如果以前在浏览器有访问过,请清除缓存后访问,或者关闭并重新打开浏览器无痕模式访问。
3,Nginx集群请在最外层,或每一台上配置。