原因,token字段带有下划线,nginx过滤掉了带有下划线的字段,导致实际token没有发送到后端
后端服务报错,token无效,需要重新登录。
nginx对header name的字符做了限制,默认 underscores_in_headers 为off,表示如果header name中包含下划线,则忽略掉,部署后就获取不到。
解决:
1. nginx默认忽略掉下划线可能有些原因考虑的。在header里不要用 “_” ,可以用驼峰命名或者其他的符号(如减号-)代替。
2. 在nginx里的 nginx.conf文件中配置http的部分添加 : underscores_in_headers on;(默认值是off,或者没有写这行代码)