问题描述:
这个问题发生在服务器加装安全组件后,一顿网络操作(如重启网卡、重启网络)
之后就发生linux无法ping通域名,但是ping通外网ip是没问题的。这个问题他们安全组件的会解决。我这里就不做重点讲解。
后来安全组件那边弄通ping域名也没问题后,项目依旧无法访问域名。
具体报错如下:
2024-12-31 19:19:06 [XNIO-1 task-3] ERROR c.h.c.s.h.GlobalExceptionHandler - 请求地址'/auth/weChatlogin',发生未知异常.
cn.hutool.core.io.IORuntimeException: UnknownHostException: api.weixin.qq.com
at cn.hutool.http.HttpRequest.send(HttpRequest.java:1351)
at cn.hutool.http.HttpRequest.doExecute(HttpRequest.java:1189)
at cn.hutool.http.HttpRequest.execute(HttpRequest.java:1052)
at cn.hutool.http.HttpRequest.execute(HttpRequest.java:1028)
at cn.hutool.http.HttpUtil.get(HttpUtil.java:145)
at cn.hutool.http.HttpUtil.get(HttpUtil.java:133)
at com.herefly.car.manage.utils.WeChatUtils.getOpenidByCode(WeChatUtils.java:116)
at com.herefly.web.service.impl.XcxAuthStrategy.login(XcxAuthStrategy.java:55)
at com.herefly.web.service.IAuthStrategy.login(IAuthStrategy.java:28)
at com.herefly.web.controller.AuthController.weChatlogin(AuthController.java:136)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
at
这个问题就在获取微信openid的时候无法访问微信的域名。也就是被拦截了。
问题排查:
我这里的排除顺序不一定要按照这个来:
1、排查安全组件是否做了出口拦截
2、排查云安全组是否做了出口拦截
3、排查系统请求地址是否正确(本地)
4、排查linux系统防火墙是否做了拦截(一般不会拦截出口)
5、排查docker网卡是否正常(重点)
解决:
排查到最后,让我想起docker的尿性!
如果你修改了宿主机的网络!!那一定要注意docker的网卡可能也会受到影响!!!
解决办法:
systemctl restart docker
重启docker!!!