1、因为公司技术背景业务需求:前后台代码分离。
小弟新加了个拦截器,拦截请求和部分参数。
在web.xml中如下配置
请求如下拦截
在后端用postman测试,任何接口没有问题,下面是postman测试结果:
但是在用域名访问的时候,返回500错误!,错误区别是:上面红色字段nginx给加了固定长度。
500错误,那肯定是后端的问题了,于是开始打印log日志,打开服务器,打开各类请求日志,环境,但是所有请求都没有!!!
最后只能判断到,是进了后端拦截器,然后就没了!!!于是屏蔽掉拦截器,进行测试好了!!!这指标不治本啊,
开始查看拦截器的代码,一行行的看,没有看出来, 想到方法是,把有后端代码的机器ip配置到nginx上,进行debug调试!打印,找出原因是在拦截器里有空指针异常,报错给了nginx,nginx所以返回500错误。
结果是nginx:在用域名访问的时候,我在header里面有一个参数带有下划线!,然后给取消了,所有得到数据为空;
经查询是:nginx对header name的字符做了限制,默认 underscores_in_headers 为off,表示如果header name中包含下划线,则忽略掉。
更改掉下划线,前后端联调,通过!,