项目中需要调用第三方的一些接口,比如说移动的短信什么的,在开发和测试环境中,并没有出现什么问题,然后当项目部署到预发布环境后,却被告知短信发送不出去,于是马上连接服务器,苦逼的查看日志,也没用多久,就发现了第三方接口调用的时候出现了time out,找到了报错信息,于是遍开始排查问题,首先怀疑的是服务器访问不通外网,遂执行curl “https://www.baidu.com”,发现成功返回了百度的html文本,证明服务器是能访问通外网的,但是我还是觉得有问题,遂执行了ping www.baidu.com,后发现,time out !问题就出现在这里,为什么呢,为什么curl能成功,ping和java 的httpclient都time out呢?
**
**
通过上述的 *** 作,我觉得可能是因为curl和httpclient有什么区别吧,遂百度了一下curl和httpclient的区别,
后发现这篇文章:https://blog.csdn.net/kakaweb/article/details/106961010
看完后,赶紧远程服务器,执行curl -i后果然发现正式地址是通过代理才能访问外网的,而java httpclient默认不走代理,随即修改代码,手动配置上代理,发版,测试,ok下班回家!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)