前言:
有小伙伴反应看教程时 想下载tabby(ssh远程连接工具),但是发现跳转Github打不开,我自己换了个网络环境测试了一下也是发现无法访问,今天就出个解决方案。
Github是什么网站?
确切的说 GitHub 是一家公司,位于旧金山,由 Chris Wanstrath, PJ Hyett 与Tom Preston-Werner 三位开发者在2008年4月创办。
GitHub 是基于 Git 的一个代码托管网站。开发者可以将代码在 GitHub 上开源,可以浏览其它项目的代码,fork 到自己名下做修改,clone 回本地(没有访问权限的 private repo 除外)使用,也可以发起 pull request 向上游提交自己的修改。GitHub 围绕项目(即 Git 中的 Repository)做了许多功能,例如 Wiki,首页(GitHub Pages)等,也可以通过 Graph 来查看其他人 fork 的情况。GitHub 也有 Gists,用于分享代码片段。除此之外也有许多包管理器以 GitHub 作为包仓库(Cargo,AUR 上的部分包,小一些如 oh-my-fish 等)。
GitHub 是全球最大的代码开源平台,小伙伴们平时都喜欢在那里找一些优质的开源项目来学习,以提升自己的编程技能。
解决方案:
在介绍完了Github,由于某些特殊原因,越来越多小伙伴抱怨自己突然无法访问 GitHub 了,时好时坏。我们言归正传讲一下无法访问Github官网的解决方案。
修改hosts文件:
我们在浏览器输入 GitHub 的网址时,会向 DNS 服务器发送一个请求,获取到 GitHub 网站所在的服务器 IP 地址,从而进行访问。
就像你是一名快递员,在送快递前要先找中间人询问收件人的地址。而 DNS 就是这个告诉你目标地址的中间人,如果 DNS 告诉了你错误的地址、或者请求被拦截、再或者 DNS 挂了,都会导致你无法访问网站。
那有什么办法不经过 DNS,就获取到网址对应的 IP 么?
答案就是修改hosts
文件。当用户在浏览器中输入网址时,系统会首先自动从hosts
文件中寻找对应的 IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到,系统才会再将网址提交 DNS 域名解析服务器进行 IP 地址的解析。
因此,想要访问 GitHub,我们可以先通过Ping检测
(https://ping.chinaz.com/)来获取当前 GitHub 网站的真实地址,再修改本地hosts
文件,将该地址和 GitHub 网址关联。
下边获取到这么多IP节点,我以第一个20.205.243.166
做示范,添加至本机电脑的hosts
文件内。
先找到 hosts 文件的位置,不同操作系统,hosts 文件的存储位置也不同:
- Windows 系统:
C:\Windows\System32\drivers\etc\hosts
- Linux 系统:
/etc/hosts
- Mac(苹果电脑)系统:
/etc/hosts
- Android(安卓)系统:
/system/etc/hosts
- iPhone(iOS)系统:
/etc/hosts
打开hosts
文件,在最后面添加一行,将xx
替换为你查询到的解析地址即可:
xx.xx.xx.xx github.com
以下是我自己的修改截图:
保存后重新访问就可以打开了。
结尾:
如果修改hosts
之后还是打不开,可以尝试挨个修改,ping出了那么多IP,总有可以访问的。