如果项目有用到nginx做域名转发,需要注意,命名中最好不要带有_
,因为nginx对header name
的字符做了限制,默认 underscores_in_headers
为off
,表示如果header name
中包含下划线,则忽略掉。例如access_token
经过nginx转发后就变为accesstoken
,这时候后台再继续用access_token
从header中获取是获取不到token信息的.
处理办法:
-
方法1
配置中http
部分 增加underscores_in_headers on;
配置 -
方法2
用减号-
替代下划线符号_
,避免这种变态问题。nginx默认忽略掉下划线可能有些原因。
这种问题通常只有在项目上线时才可能会碰到,平常我们自己在本地调试,线下部署时,都是直接访问服务器ip或者localhost
来进行请求,很少会注意到,以后一定要留心,各种情况都要多考虑到.