問題描述
問題出現在對一個位址進行get請求的時候出現了這個問題,顯示如下:
可以說是查遍了全網,最終終于找到了原因,并成功解決,遂記錄這篇文章,讓後來遇到這個問題的朋友可以少走彎路。
問題解決
首先抛出原因,問題出現在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一下,配置完如下:
- 博文《linux下出現ping:unknown host www.baidu.com問題時的解決辦法——ubuntu下區域網路絡的配置》
- 博文《三步解決,dial tcp: lookup production.cloudflare.docker.com on 114.114.114.114:53: read udp i/o timeout》