Linux服务器无法解析域名解决,java.net.UnknownHostException: api.weixin.qq.com

最近把项目部署到Linux服务器上,发现本地调试好的微信扫码登录突然无法使用了,本地调试却正常!

查看项目日志,发现报错如下

[java]  view plain  copy
  1.   
[java]  view plain  copy
  1. java.net.UnknownHostException: api.weixin.qq.com  
  2.     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)  
  3.     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)  
  4.     at java.net.Socket.connect(Socket.java:589)  
  5.     at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)  
  6.     at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)  
  7.     at sun.net.NetworkClient.doConnect(NetworkClient.java:180)  
  8.     at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)  
  9.     at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)  
  10.     at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264)  
  11.     at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)  
  12.     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)  
  13.     at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)  
  14.     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)  
  15.     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)  
  16.     at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)  
  17.     at cn.jagl.mryt.util.HttpRequestUtilImpl.sendGet(HttpRequestUtilImpl.java:87)  
  18.     at cn.jagl.mryt.action.EmployeeAction.wxLogin(EmployeeAction.java:193)  
  19.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  20.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
  21.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
  22.     at java.lang.reflect.Method.invoke(Method.java:498)  
  23.     at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:892)  
  24.     at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1537)...还有很多就不截了  


这个错误是因为服务器无法识别api.weixin.qq.com这个域名

然后尝试分别在windows和服务器上ping 了一下这个域名,果然windows上可以ping通,而linux上不行,又试了几个常用的域名,结果一样。。。

解决方法

编辑etc下的resoly.conf文件(如果没有就新建一个)
[java]  view plain  copy
  1. vi /etc/resolv.conf  
添加一行
[java]  view plain  copy
  1. nameserver 8.8.8.8  
保存后重启网络服务
[java]  view plain  copy
  1. service network restart  
然后应该就可以了

你可能感兴趣的:(linux)