nginx是一个反向代理,有些时候我们使用upstream进行代理转发时需要转发头信息,比如:
proxy_set_header Host $host;等
但是有些时候会遇到设置了proxy_set_header参数,但是设置无效的情况,网上的资料说在nginx.conf配置文件的http配置部分增加如下配置,原因是配置项默认支持的是中划线而不是下划线:
underscores_in_headers on;
但是我遇到的情况设置了这个还是无效,后来对比配置发现我的有301重定向,即我的配置监控了80端口,然后把80端口的请求301到443,然后443端口再使用的upstream反向代理到的下游服务。
当我把80端口的请求监控注释掉后,proxy_set_header配置奇迹般的有效了,我的版本是tengine2.1.2