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端口不正常