技术框架是spring boot,前端将token放在header里面,自定义一个参数,然后再后台通过request.getHeader("参数")获取;
1、我们在自己的本地和测试环境下是ok的,当使用测试环境的https://www.xxxxx/访问的时候就出问题;后跟踪日志发现获取到token也就是getHeader为空了;
2、由于运维和我们是分开的,所以ng的配置修改不方便,我们自己找问题,由于使用ip地址完全没问题,所以我们一直认为是环境的配置问题,一个是https,一个是域名涉及到的NG;但在这之前我们先自己尝试了以为自己拦截器和过滤器的问题;然后发现一进来就没有header的这个值;
3、修改NG的配置,根据网上的说明:
underscores_in_headers on;
然后再次调用就行了;
4、最后我们发现其他项目也是同样的配置和使用方式,但是在没有3中配置的情况下也可以,我们就深究原因发现:
我们的参数名称是"xx_token",重点来了-----------在request.getHeader("xx_token"),NG不能用_,用-代替也行;_是NG的关键字会被转意;
---------------------
原文:https://blog.csdn.net/qq_36821448/article/details/80534043