发送webservice connect timeout 问题
第一次在简书写技术文章,平时没啥时间。最近在项目上遇到个问题,项目需要发送https请求到外部接口(webservice),需要走外网。原来在项目中已经设置了代理,采用的是<http-conf:conduit name="*.http-conduit">类似配置。
后面我们因为http线程数过多,三台机器已经难以支撑现有业务,所以又扩容了两台机器。但是很奇怪的一个问题是,新扩容的机器都访问不了外网。代码一摸一样(aaawysl)。如图:

由于影响生产,领导给我两天解决这个问题(领导真的是个好人~-~)
刚开始我是很怀疑是扩容的新机器有问题的。因为代码包我拉下来对比是一样的。于是我就去对比机器的环境,查了协议版本,内核等参数,发现内核什么的一样的,协议版本是不一样,但是是做了升级的,
头一天我在机器上使用curl -x 代理地址:8080 -v 外网地址去做http 访问发现是通的

也是问了网络的同事,同事说是代理是ok的。一开始不懂的我还在跟他厮杀~+~(对不起这位大哥)。后面想应该是代码有问题(主要是新老机器代码一样,之前让我打消了这种怀疑)。第二天我就老老实实去找代码的问题了(心里安慰自己可能是因为新机器协议并不一样导致老的cxf配置不能适用了),我翻了大概50篇博客,翻到第五十篇的时候发现了一个新想法(参考:https://blog.csdn.net/shb_derek1/article/details/9852819)。

原来是配置没生效,于是我在资源文件下加了cxf.xml。新的机器就可以了。真是开心shi了哈哈哈哈。如果有遇到相同问题可以作参考
网友评论