微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx反向代理proxy_set_header自定义header头无效

为什么80%的码农都做不了架构师?>>>   

hot3.png

公司使用Nginx作为负载均衡,有时候需要自定义header头发送给后端的真实服务器. 想过去应该是非常的简单的事情. 例子如下: 设置代理服务器ip头
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
然后自己在自定义个header,remote_header_test,如下:
proxy_set_header remote_header_test "123123123";
接着后端真实服务器打开www.ttlsa.com/Nginx_header.PHP代码是简单的PHPinfo
<?PHP

PHPinfo();

?>
PHPinfo结果页面搜索刚才设置的头部,发现没有找到,网上查找资料,才发现原来Nginx会忽略掉下划线的头部变量.于是改成如下:
proxy_set_header remoteheadertest "123123123";
再次打开www.ttlsa.com/Nginx_header.PHP,搜索remoteheadertest,有内容. 看来果真不能用下划线. 然后改成'-',如下:
proxy_set_header remote-header-test "123123123";
打开页面,搜索到的头部是remote_header_test. 自动转换成下划线了. 如果想要支持下划线的话,需要增加如下配置:
underscores_in_headers on;
可以加到http或者server中 语法:underscores_in_headers on|off 认值:off 使用字段:http, server 是否允许在header的字段中带下划线

转载于:https://my.oschina.net/766/blog/211209

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐