问题
在内网环境的centos下的nginx配置location ,curl请求ip:端口、location配置项 ,报页面不存在, 直接curl 域名就成功
location配置:
location /fp/ {
proxy_pass https://fapiao.yonyoucloud.com/;
}
在内网的nginx配置如上,但是请求报页面不存在或者删除,直接curl https://fapiao.yonyoucloud.com/ 正常。
分析
在笔记本电脑如上配置,发现是可以curl ip:端口成功的,遂复制nginx.conf 的http 配置到笔记本电脑的虚拟机上,发现请求不成功,一步步注释,发现是内网的nginx配置了
proxy_set_header Host $host;
把这行注释了就成功了。
百度该行的作用是把原http请求的Header中的Host字段也放到转发请求里,不加这行的话,nginx转发请求header不会有Host字段,服务器靠这Host区分请求的是那个域名的资源的,我们的是正向代理,不需要设置这个。