天天看點

問題解決:Get “xxx“: dial tcp: lookup xxx on xxx: read udp xxx:xxx: i/o timeout

問題描述

問題出現在對一個位址進行get請求的時候出現了這個問題,顯示如下:

問題解決:Get “xxx“: dial tcp: lookup xxx on xxx: read udp xxx:xxx: i/o timeout

可以說是查遍了全網,最終終于找到了原因,并成功解決,遂記錄這篇文章,讓後來遇到這個問題的朋友可以少走彎路。

問題解決

首先抛出原因,問題出現在dns解析上。

首先并不是因為通路​

​golang.org​

​​出現這個問題,通路​

​www.baidu.com​

​​, ​

​www.csdn.net​

​​也都會出現這個問題。第一版的解決方案,就是手動ping網址,然後把其中的IP對網址的映射放入到​

​/etc/hosts​

​​中,這樣的話就可以不經過dns查詢,直接查詢本地緩存了,當然也就不會出現上面的問題了。注意因為​

​/etc/hosts​

​權限均為root,修改之前sudo一下。

問題解決:Get “xxx“: dial tcp: lookup xxx on xxx: read udp xxx:xxx: i/o timeout
問題解決:Get “xxx“: dial tcp: lookup xxx on xxx: read udp xxx:xxx: i/o timeout

經過以上操作,從開一個終端進行測試,就發現沒有問題了。可是治标不治本,通路其他的網址時還是會出現問題,比如​

​www.csdn.net​

​​,沒有放到本地緩存中還是會在dns解析方面出現問題,如何解決呢,方法就是改變本機的目标dns伺服器,預設設定在​

​/etc/resolv.conf​

​,我的預設目标dns為本地路由,我們的方法就是把dns目标位址修改為一個可用的dns伺服器,如8.8.8.8或者4.4.4.4,檢測是否可用就是ping一下,配置完如下:

問題解決:Get “xxx“: dial tcp: lookup xxx on xxx: read udp xxx:xxx: i/o timeout
  1. 博文《​​linux下出現ping:unknown host www.baidu.com問題時的解決辦法——ubuntu下區域網路絡的配置​​》
  2. 博文《​​三步解決,dial tcp: lookup production.cloudflare.docker.com on 114.114.114.114:53: read udp i/o timeout​​》

繼續閱讀