问题
接口通过Nginx转发之后,提示token失效,无法获取token值,发现请求头丢失了。
解决方法
修改Nginx的配置文件,在http
或者server
中添加underscores_in_headers on;
扩展
- underscores_in_headers
Syntax: underscores_in_headers on | off;
Default: underscores_in_headers off;
Context: http, server
在客户端请求标头字段中启用或禁用下划线。 禁止使用下划线时,名称中包含下划线的请求标头字段将被标记为无效,并受ignore_invalid_headers指令的约束。
如果指令是在服务器级别指定的,则仅当服务器为默认服务器时才使用其值。 指定的值也适用于在相同地址和端口上侦听的所有虚拟服务器。
- $http_name
用来获取任意请求头的值。HTTP header的命名方式是:每个单词的首字母大写,其余字母小写,单词之间用中划线("-")连接。比如,User-Agent、Content-Type、X-Forwarded-For等。
请求头名称和name之间的转换方式是:将请求头名称转换成小写形式,并将中划线("-")替换成下划线("_"),比如:$http_x_forwarded_for
参考: