通过Nginx反向代理配置/.well-known/pki-validation/fileauth.txt步骤实例
最近在某云平台上申请了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://域名/.well-known/pki-validation/fileauth.txt location /.well-known/pki-validation/ { root /home/wwwroot/default/; #alias /home/wwwroot/default/.well-known/pki-validation/; 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://域名:443/.well-known/pki-validation/fileauth.txt location /.well-known/pki-validation/ { root /home/wwwroot/default/; #alias /home/wwwroot/default/.well-known/pki-validation/; index index.html index.htm; } #其他配置规则 }
例如上面两段Nginx访问规则,将 fileauth.txt 文件放在 /home/wwwroot/default/.well-known/pki-validation/ 目录下。通过root指定服务器根目录,或者alias指定当面路径对应的服务器目录都是可以的,写法分别如上。并确认服务器目录下文件访问权限正确。
然后重启Nginx。通过浏览器访问效果如下:
【关键点】:
1,Nginx配置规则和文件放置目录;
2,如果以前在浏览器有访问过,请清除缓存后访问,或者关闭并重新打开浏览器无痕模式访问。
3,Nginx集群请在最外层,或每一台上配置。