【记录nginx请求头参数丢失问题】
问题现象:请求经过nginx后,带下划线的请求头参数丢失
如上方’gz_security_token’参数,经过nginx后,请求头参数丢失
原因及解决方案:
由于nginx配置中underscores_in_headers没有设置为on,把此配置修改成on即可。
功能描述
underscores_in_headers 是NGINX 中的一个配置指令,用于控制是否允许在客户端请求头字段中使用下划线(_)。
underscores_in_headers 指令的语法为 underscores_in_headers on |
off。默认值为 off,表示当客户端请求头中带有下划线的字段默认将会被标识为无效字段。当设置为 on
时,允许在请求头字段中使用下划线,否则这些字段将被标记为无效并受 ignore_invalid_headers 指令的约束 使用场景
1.会话丢失问题:在使用 NGINX 代理某个 web 服务时,如果遇到会话丢失或重复认证的问题,可能是因为 cookie
中的认证信息丢失。通过在 NGINX 配置文件中添加 underscores_in_headers on; 可以解决这个问题
2.请求头信息缺失:在测试环境和培训环境中,如果发现请求头部分内容缺失,尤其是在培训环境中出现 header 中部分请求头被屏蔽的问题,可以通过添加 underscores_in_headers on; 来确保所有请求头信息都能被正确接收