最近在做Nginx 负载的时候,第三方授权后,系统内部请求没有数据返回,提示未登录,仔细查看请求后发现,由于项目采用前后端分离,系统内请求的头部都会带一个token,但是经过Nginx 转发后这个值丢失了。
查看nginx的log日志时,也没有明显的异常记录。翻阅资料后,有以下两点:
1、默认的情况下nginx引用header变量时不能使用带下划线的变量。要解决这样的问题只能单独配置underscores_in_headers on;
2、默认的情况下会忽略掉带下划线的变量。要解决这个需要配置ignore_invalid_headers off。
好深的坑啊