[踩坑] 解决nginx反向代理proxy不能转发header报头
今天发现生产环境自定义透传字段 头部转发IP, 错误.
观察了下 获取IP 方式并没有问题. 开发环境ok 的. 区别在于开发环境是直连的, 而生产是 Nginx Proxy
server { |
上面的配置 本身并没有问题.
问题在于 header name 的字符做了限制,默认 underscores_in_headers 为 off,表示如果header name 中包含下划线,则忽略掉。
恰好我自定义的 header 中都是用的下划线。
处理办法:
1、配置中 http 部分 增加 underscores_in_headers on; 配置
2、用减号 - 替代下划线符号 _,避免这种变态问题。nginx 默认忽略掉下划线可能有些原因。
可以加到 http 或者 server 中
语法:underscores_in_headers on|off
默认值:off
使用字段:http, server
是否允许在 header 的字段中带下划线。
文章中提到查询配置问题, 可以提高Nginx log 等级, 调整到debug 模式.
后来我在 nginx.conf 把 error 的日志等级更改为 debug,查看 error_log logs/error.log debug;
解决问题文章 :
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
评论





