使用JWT时Header中token命名的坑

如果项目有用到nginx做域名转发,需要注意,命名中最好不要带有_,因为nginx对header name的字符做了限制,默认 underscores_in_headersoff,表示如果header name中包含下划线,则忽略掉。例如access_token经过nginx转发后就变为accesstoken,这时候后台再继续用access_token从header中获取是获取不到token信息的.

处理办法:

  • 方法1
    配置中http部分 增加underscores_in_headers on; 配置

  • 方法2
    用减号-替代下划线符号_,避免这种变态问题。nginx默认忽略掉下划线可能有些原因。

这种问题通常只有在项目上线时才可能会碰到,平常我们自己在本地调试,线下部署时,都是直接访问服务器ip或者localhost来进行请求,很少会注意到,以后一定要留心,各种情况都要多考虑到.

参考https://blog.csdn.net/cctt_1/article/details/8290371

你可能感兴趣的:(bug,测试,jwt,nginx)