通过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集群请在最外层,或每一台上配置。

原文地址:https://www.cnblogs.com/xiongzaiqiren/p/15046116.html