背景:请求第三方系统接口,对相关数据进行校验,本地和postman发送请求都没问题,但是部署到测试环境就有一直报重定向错误。
从以下角度进行了排查:
1.JDK,测试环境和本地环境都是jdk1.8的;
2.测试环境和本地环境http协议是一样的;
3.能够ping通第三方网址(排除网络问题);
4.相同代码其他服务器可以发送请求(排除代码问题);
5.直接在Linux上对第三方发送http请求,curl -i -k -H "Content-type: application/json" -X POST -d '{"secret_key":"xx","appkey":"test","keyword":"xxx"}' https://xx/xx/xxx/xxx
同样的重定向错误,但是在其他的服务器上可以发送成功。返回代码200
由此判定是服务器拦截了http请求,导致一直报重定向错误。