微信小程序业务域名的校验文件配置

前言

我之前已经在nginx做了配置,浏览器url中访问/将直接访问到我的一个node服务中去,但是检验文件要求放到域名的根目录下(即网站根目录,如/usr/share/nginx/html/),要怎么解决呢?

现在的架构是:

  • 用户访问 https://你的域名/ → Nginx 反向代理到你的 Node.js 服务(比如 http://127.0.0.1:3000
  • 现在需要上传一个 校验文件KZurowFpA.txt注意下载下来的文件名字不能改),用于微信小程序验证你对域名的控制权
  • 但问题是:所有 / 路径的请求都被代理到 Node 服务了,Nginx 不会直接返回静态文件

✅ 核心问题

你想让 https://你的域名/KZurowFpA.txt 这个 URL 不经过 Node 服务,而是由 Nginx 直接返回一个本地文件。


✅ 解决方案:在 Nginx 中为校验文件添加特殊 location 规则

你只需要在 Nginx 配置中,添加一个更具体的 location ,优先匹配校验文件的路径,让 Nginx 直接返回它,不走代理


✅ 步骤一:把校验文件放到某个目录

比如:/usr/share/nginx/html/KZurowFpA.txt

确保权限正确:

bash 复制代码
sudo chown -R www-data:www-data /usr/share/nginx/html/KZurowFpA.txt
sudo chmod -R 644 /usr/share/nginx/html/KZurowFpA.txt

✅ 步骤二:修改 Nginx 配置,添加 location 规则

在你的 server 块中,location / 之前 添加一个专门匹配校验文件的规则:

ini 复制代码
server {
    listen 80;
    listen 443 ssl;
    server_name 你的域名;

    # SSL 配置...
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/privkey.pem;

    # 精确匹配某个校验文件
    location = /KZurowFpA.txt {
        root /usr/share/nginx/html/verify;
        add_header Content-Type text/plain;
    }

    # 原来的 Node 服务代理(必须放在后面)
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

✅ 关键点说明

技巧 说明
location = /file.txt 精确匹配,优先级最高
location ~ ^/... 正则匹配,可以匹配多个文件
把静态文件规则写在 location / 之前 Nginx 会优先匹配更具体的规则

✅ 测试是否成功

  1. 重启 Nginx:

    sudo nginx -t && sudo systemctl reload nginx

  2. 用浏览器访问:

arduino 复制代码
http://你的域名/KZurowFpA.txt

你应该能看到文件内容,而不是 Node 服务的响应。

✅ 总结

场景 配置方式
单个校验文件(如 KZurowFpA.txt location = /KZurowFpA.txt { alias /path; }
多个校验文件 `location ~ ^/(file1
Node 服务代理 location / { proxy_pass ... }(放最后)

✅ 这样配置后,Nginx 会:

  • 遇到 /KZurowFpA.txt → 直接返回文件
  • 遇到其他所有请求 → 转发给 Node 服务

完美兼顾 校验文件Node 服务代理

相关推荐
jiayong2321 小时前
多子系统架构下的Nginx部署策略与最佳实践
运维·nginx·系统架构
叫致寒吧1 天前
Nginx基于域名的虚拟主机实操案例
运维·服务器·nginx
韩师学子--小倪1 天前
tcpdump + Wireshark:抓取nginx转发到服务的流量
测试工具·nginx·tcpdump
梁正雄1 天前
linux服务-Nginx+Tomcat+Redis之Session 共享 - 容器compose
linux·nginx·tomcat
百***86461 天前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
木童6621 天前
Nginx 深度解析:概念、架构、配置与虚拟主机实战
运维·nginx·架构
百***69441 天前
海康威视摄像头RTSP使用nginx推流到服务器直播教程
运维·服务器·nginx
Qlittleboy1 天前
ThinkPHP 5.1 程序在 Nginx 和 Apache 下的性能对比
运维·nginx·apache
Q鑫1 天前
LVS/Nginx/Haproxy+keepalived负载均衡集群工作原理
nginx·负载均衡·lvs
源来猿往2 天前
高并发之nginx架构
运维·nginx