nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx proxy_set_header参数

Nginx proxy_set_header参数设置

作者:summer_west_fish

本文主要介绍了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参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文