网络运营服务商的DNS污染导致无法连接github
事情经过
最近要去github上下载东西,结果发现github网页能打开,但是就是没办法git clone代码到本地,起初以为是自己的ssl没配置好,折腾了半天,没用;又以为是代理的问题,折腾半天,还是没用。
几经周折,才发现是网络运营商的问题!!!!
解决方法
看网上说有一些设置hosts的方法,但是我简单试了一下
打开网站https://ipaddress.com/website/github.com,查看域名github.com对应ip,在hosts中加上一行。
再在命令行中输入 ipconfig /flushdns
,这样也能够成功clone和push等。
这时我便有一个问题,为什么浏览器能够打开github的网页(开了代理),却不能下载代码?原来是因为本地的git工具需要主动配置代理,否则请求不会被代理。这大概和git本身发送请求的实现细节有关(猜测是直接使用的传输层协议而不是http之类的应用层请求,因此不会被代理工具如clash捕获)
之后进行相关设置即可:
1 | git config --global http.https://github.com.proxy socks5://127.0.0.1:7890 |
这里的7890根据自己的代理工具进行修改。
注:下面这个方法后来失效了,原因有待确认。
- Title: 网络运营服务商的DNS污染导致无法连接github
- Author: Huan Lee
- Created at : 2022-07-01 14:19:14
- Updated at : 2024-02-26 04:53:15
- Link: https://www.mirthfullee.com/2022/07/01/网络运营服务商的DNS污染导致无法连接github/
- License: This work is licensed under CC BY-NC-SA 4.0.