为了方便进行微信的联调测试,需要做个本地的调试。本地搭建一个内网ngrok私服,然后线上的通过访问公司配置再公网地址上的地址,然后再反向到ngrok私服的地址即可
问题:
反向的时候,ngrok默认应是给的80 端口,一开始的配置是:
location ~* ^/(api)/ {
proxy_pass http://xxxxx.natappfree.cc;
#add_header 'Access-Control-Allow-Origin' '*';
#add_header 'Access-Control-Allow-Credentials' 'true';
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_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_next_upstream off;
}
可是访问的外网地址穿透本地的时候,返回的是404:
Tunnel XXXXXXX.com not found
思考了一下应该是和端口号有关
但是我们的配置
proxy_set_header Host $host; 没加上端口号,然后再加上
#利用重定向 并且带上相应的端口。必须加入 proxy_set_header Host $host:8080;
location /schoolSafe {
proxy_set_header Referer $http_referer;
proxy_set_header Host $host:8080;
proxy_pass http://xxxxx.natappfree.cc;
}
可是毛了 !!也还是不行!!最后直接的不设置:
location ~* ^/(api)/ {
proxy_pass http://xxxxxxxxxxx.natappfree.cc;
}
就可以了!!
网友评论