nginx监听多个端口
问题:
- nginx监听80端口,转发到本地8000端口,能正常访问
- 再配置nginx监听8001端口,转发到本地8001端口,输入http:ip:8001却被转发到8000端口
原因:
两个nginx的server配置中,均有
proxy_set_header Host $host;
浏览器请求头Host只携带了ip地址,http缺省端口为80,匹配nginx监听的80端口,从而转发到本地8000端口
解决办法:
proxy_set_header Host $host:$server_port;
Q.E.D.