前后端发布环境联调,ip访问与域名访问问题

本文记录了一次排查500错误的过程,通过逐步调试发现是由于前端header中的下划线导致nginx忽略该参数,进而引发后端空指针异常。通过调整header设置解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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中包含下划线,则忽略掉。

   更改掉下划线,前后端联调,通过!,

 

 

 

 

转载于:https://www.cnblogs.com/liutiantian/p/6420202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值