GitHub访问慢解决方法


GitHub访问慢或者无法访问一般是由以下问题引起的:

  • 本地网络访问慢,科学上网速度很快
  • 本地网络无法访问(响应时间过长导致无法访问)
  • 由于github的加速分发CDN域名assets-cdn.github.com遭到DNS污染,无法访问

1. 修改本地hosts映射

域名解析直接指向GitHub的IP地址,以此来绕过DNS解析

1.1 查看最新GitHub 的最新ip地址

在 ip地址查询 网站中查询GitHub相关的网站对应的最新IP地址

  • github.com
  • github.global.ssl.fastly.net
  • assets-cdn.github.com
  • codeload.github.com

在当前网站中查询指定网站ip地址还可以使用另外方法:
①直接将网站作为参数进行请求,省略点击查询的步骤:

  • websites.ipaddress.com/github.glob…
  • websites.ipaddress.com/github.com
  • websites.ipaddress.com/assets-cdn.…
  • websites.ipaddress.com/codeload.gi…

②将ip查询网站拼接在之后进行查询

  • github.global.ssl.fastly.net.ipaddress.com/
  • github.com.ipaddress.com/
  • assets-cdn.github.com.ipaddress.com/
  • codeload.github.com.ipaddress.com/

1.2 本地hosts文件映射ip地址

找到对应的IP地址后,将IP地址与网站地址进行对应,并将对应关系写入本地hosts文件中。
在Windows系统中的 C:\Windows\System32\drivers\etc 下找到hosts文件,编辑打开,将四个网站的IP地址和网站地址对应写入进入,作为DNS的映射。
hosts文件直接编辑修改时可能没有权限,可以通过以下方法完成修改:

  1. 修改当前文件权限,右键hosts文件 -> 属性 -> 安全 -> 编辑 -> Users -> Users的权限后加入写权限
  2. 将当前文件复制到别的盘中,修改文件后复制回来覆盖原来文件
#github dns映射 格式如:  [ip]: [domainName]
199.232.69.194 github.global.ssl.Fastly.net
140.82.114.4 GitHub.com
185.199.108.153 assets-cdn.Github.com
140.82.114.9 codeload.Github.com

1.3 刷新DNS缓存来访问新的映射

hosts文件内容更新成功后,还需要刷新windows系统的DNS才可以生效。
使用 win+R ,打开cmd命令行,输入 ipconfig/flushdns 刷新DNS缓存即可。

刷新完成后,再次打开github网站时速度会明显提升,需要注意的是以上github网站的ip经常发生变化,如果访问再次变慢可以重新更新映射信息。

2. 一键更新

手动更新本地hosts文件的方式比较繁琐,我们可以编写程序来代替手动操作,实现需要时hosts文件内容的一键更新。
推荐一个github开源项目:更新hosts国内git地址,作者会每日提供最新的相关ip地址映射信息,我们可以直接复制使用或者使用其中的程序进行一键更新操作。
作为一个coder,我们也可以自己去实现一个脚本程序。

作者:东方甲乙木土
链接:https://juejin.cn/post/7019683061977579557
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
 上一篇
Hexo 博客搭建与历史项目恢复完全指南 Hexo 博客搭建与历史项目恢复完全指南
一、环境准备1.1 安装 Node.js 作用:Hexo 的运行环境 下载地址:Node.js 官网 选择版本:下载 LTS(长期支持)版本 安装提示:Windows 用户保持默认设置即可,确保添加到系统 PATH 1.2 安装 Git
2026-03-07
下一篇 
面试常见问题与相关答案 面试常见问题与相关答案
细说浏览器输入URL后发生了什么 简述 cookie 和 session的区别及各自的工作机制,存储位置等,简述 cookie 的优缺点。 php session 数据保存在哪里? Session 文件什么样的 session_start(
2021-01-14 Alex
  目录