bioinfoer

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

0

收听

12

听众

341

主题
发表于 2024-12-28 00:01:41 | 查看: 52| 回复: 0

问题解决:Get “xxx“: dial tcp: lookup xxx on xxx: read udp xxx:xxx: i/o timeout

背景

问题出现在对一个地址进行get请求的时候出现了这个问题

例如需要和某个服务器进行通信

3.png

解决方法

首先抛出原因,问题出现在dns解析上。

首先并不是因为访问golang.org出现这个问题,访问www.baidu.com, www.csdn.net也都会出现这个问题。

第一版的解决方案,就是手动ping网址,然后把其中的IP对网址的映射放入到/etc/hosts中,这样的话就可以不经过dns查询,直接查询本地缓存了,当然也就不会出现上面的问题了。注意因为/etc/hosts权限均为root,修改之前sudo一下。

经过以上操作,从开一个终端进行测试,就发现没有问题了。

可是治标不治本,访问其他的网址时还是会出现问题,比如www.csdn.net,没有放到本地缓存中还是会在dns解析方面出现问题,如何解决呢,方法就是改变本机的目标dns服务器,默认设置在/etc/resolv.conf,我的默认目标dns为本地路由,我们的方法就是把dns目标地址修改为一个可用的dns服务器,如8.8.8.8或者4.4.4.4,检测是否可用就是ping一下,配置完如下:

配置完成以后,如果目标网址没被墙,基本就没什么问题了。当然如果连8.8.8.8都ping不通,就说明网络配置有问题了,可以找云服务器厂商。

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|bioinfoer ( 萌ICP备20244422号 )

GMT+8, 2025-1-22 13:56 , Processed in 0.069434 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表