关于Nginx反向代理时headers无效的问题
发布网友
发布时间:2024-10-04 21:55
我来回答
共1个回答
热心网友
时间:2024-10-22 14:34
遇到Nginx反向代理时headers无效问题,确实让人头疼。
当使用Nginx进行反向代理时,通常会配置host和IP。如果请求中的headers有特定值,理论上是可以传递过去的。然而,Nginx默认情况下,并非所有headers的字段都能正常转发。具体来说,如果字段名包含下划线(_),Nginx会将其视为不合法字段并自动忽略不发送。
查阅文档后发现,存在如下描述:
Syntax: underscores_in_headers on | off; Default: underscores_in_headers off; Context: http, server Enables or disables the use of underscores in client request header fields. When the use of underscores is disabled, request header fields whose names contain underscores are marked as invalid and become subject to the ignore_invalid_headers directive.
翻译过来就是,如果希望支持headers字段名包含下划线,需要将underscores_in_headers设置为on。然而,仅设置这一项可能并不会产生效果,因为还需要做其他配置。
总结,正确设置方法如下: