记录一个Nginx反向代理引起的token失效(401)问题
问题背景及现象:后端服务使用多个token进行业务分隔。
- 使用工具访问ip+port服务带 Header:examp_token,访问正常,返回正常接口信息
- 经域名 + Nginx HTTPS(带同一个examp_token):返回 401。
同一 examp_token(Header 名与值完全相同)两种访问方式结果不一致。
排查步骤
根据问题现象,直接走ip+port访问正常,说明后端服务本身拦截器/过滤器对请求头中examp_token处理正常。
经排查:请求头携带的examp_token被nginx拦截。
Nginx 默认遵循常见约定:不解析、不转发 名称中含下划线的请求头(除非显式开启配置)。
处理方式
修改配置
在 /etc/nginx/nginx.conf(或主配置文件的 http 块)增加:
http {
underscores_in_headers on;
# ... 其余配置不变
}
修改后重新加载启动
nginx -t && nginx -s reload

浙公网安备 33010602011771号