Nginx proxy_set_header参数设置
一、不设置 proxy_set_header Host
不设置 proxy_set_header Host 时,浏览器直接访问 nginx,获取到的 Host 是 proxy_pass 后面的值,即 $proxy_host 的值,参考http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header
# cat ngx_header.conf server { listen 8090; server_name _; location / { proxy_pass http://172.31.5.0:5000; } }
结果如下: 返回proxy_pass 后面的值
二、设置proxy_set_header Host $host
server { listen 8090; server_name _; location / { proxy_set_header Host $host; proxy_pass http://172.31.5.0:5000; } }
结果如下: 不再是 proxy_pass代理的ip地址了, 不包含端口
三、设置proxy_set_header Host $http_host
server { listen 8090; server_name _; location / { proxy_set_header Host $http_host; proxy_pass http://172.31.5.0:5000; } }
结果如下: 不再是 proxy_pass代理的ip地址了, 包含端口
提示: 设置 proxy_set_header Host $host 时,浏览器直接访问 nginx,获取到的 Host 是 $host 的值,没有端口信息。此时代码中如果有重定向路由,那么重定向时就会丢失端口信息,导致 404
到此这篇关于Nginx proxy_set_header参数设置的文章就介绍到这了,更多相关Nginx proxy_set_header参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
最新评论