在使用NGINX作为反向代理时,如果遇到NGINX不支持HTTP请求头中包含下划线(_)的问题,可以通过以下两种方法解决:
-
修改NGINX配置以允许下划线: 在NGINX的配置文件中,找到
http
部分,并添加underscores_in_headers on;
配置项。这将允许NGINX识别和转发包含下划线的HTTP请求头。例如:http { underscores_in_headers on; ... }
这样配置后,NGINX将能够处理包含下划线的请求头,如
X-My_Header
。 -
避免在请求头中使用下划线: 另一种解决方案是在发送请求时避免使用包含下划线的请求头名称。可以改用驼峰命名法或其他符号(如减号
-
)代替下划线。例如,将X-My_Header
改为X-My-Header
。
以上两种方法可以解决NGINX作为反向代理时不支持HTTP请求头中包含下划线的问题。建议首先尝试修改NGINX配置以允许下划线,如果因为某些原因无法修改配置,再考虑改变请求头的命名方式。