通常在做微信小程序等域名配置时,都会在nginx 的 location中配置校验文件,常见的配置是对前端这种有根路径的域名配置,直接放在 root 根路径指定位置即可。
也有时候需要对一些后端服务进行配置,例如:
server {
listen 80;
server_name abc.fuhai.com;
location / {
ssi on;
proxy_pass http://fuhaiapi; #后端api接口地址
proxy_set_header Host $host;
proxy_set_header x-forwarded-for $http_x_forwarded_for;
proxy_set_header INGAGE-FIREWALL rkhd-internal;
add_header Access-Control-Allow-Origin $cors_header;
}
- 解决办法
这时候,就需要对不同的校验文件进行单独处理。
server {
listen 80;
server_name abc.fuhai.com;
location / {
ssi on;
proxy_pass http://fuhaiapi; #后端api接口地址
proxy_set_header Host $host;
proxy_set_header x-forwarded-for $http_x_forwarded_for;
proxy_set_header INGAGE-FIREWALL rkhd-internal;
add_header Access-Control-Allow-Origin $cors_header;
}
location /vKdfadsv4F.txt {
root /opt/static/key/;
}
将vKdfadsv4F.txt 校验文件放到 /opt/static/key/下即可。
如果是临时校验,这种方法可以解决。但如果是校验文件比较多,或要长期存放时,可以考虑放在OSS等存储上,这样可以解决不同文件的校验。
- 参考配置
''''''
location ~* /*.txt {
proxy_pass https://xxx.cos.ap-beijing.myqcloud.com;
}