问题原因
Nginx默认会把header中带_的参数给过滤掉。比如请求头中有一个TOKEN_HEADER,那么它会把这个忽略掉,导致后台获取不到这个请求头。
解决方案
解决方法主要有两个:
(1)、把 _ 改为 - 或者不要 _。(显然这种方式不是一劳永逸的方式)
(2)、在Nginx中http模块中配置。(重点:以下配置缺一不可)
http {underscores_in_headers on;server {# 重写请求头部host字段proxy_set_header Host $host;# 重写来源IPproxy_set_header X-Real-IP $remote_addr;# 重写http请求来源proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
