ngrok服务端运行正常,绑定的是801端口,通过http://test.hanlei.win:801访问远程WEB页也正常。然后用服务器的nginx反向代理到80端口就不正常了。
问题的描述
通过nginx反向代理ngrok的801端口到80端口,可以正常访问到ngrok服务,却无法访问域名绑定的网站。
通过http://test.hanlei.win访问,错误提示:
Tunnel test.hanlei.win not found
但通过http://test.hanlei.win:801却可以访问,明明代理在工作,却没有正确解析到站点。
解决方法
通过查看相关的文章,加上测试,发现是因为反向代理的配置文件中主机头只写了域名,没有写端口。以前一直都不用写也能正常工作,但ngrok不写就能不正常代理。
所以给nginx代理配置中的主机头后面加上端口就行了proxy_set_header Host $host:801。如下
location / {
proxy_redirect off;
proxy_read_timeout 600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:801;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:801;
}
转载请注明:HANLEI'BLOG » nginx反向代理本地ngrok端口不正常
