解决GitHub不能访问的几个办法

这篇具有很好参考价值的文章主要介绍了解决GitHub不能访问的几个办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题现象

GitHub页面时而能访问,时而不能。不是慢,而是不能访问。当然,下载它的比如仓库Release下的压缩包比较慢则是另一回事。蛋疼的影响不限于打不开页面,更多的在于不能git pull和git push等操作。范围方面,凡国内不管是家宽、移动网络还是云上的,都受到一致的影响。

二、问题原因

1、DNS解析污染

网上有个这个说法,大致原理就是“某某”通过拦截你发起的GitHub域名解析请求并伪装返回非正确的IP地址。但我有些怀疑,打不开GitHub也没见什么其他页面显示出来,怀疑这个“某某”的目的是什么?莫非就是让你长期不能稳定访问?

2、网络限制

按理说类似有的站点被限制一样,应该是一直打不开。所以这个说法不成立。

三、解决办法

1、科学上网(备用)

但是呢也有些问题,比如包下载依然较慢,这个不同供应商和实现方式的效果不一样,比如企业申报类的企业业务用途、外企VPN隧道等正常,个人用途的那就不一定了。

如果是对我提供服务的服务器,这个方式可能就不太合适了。

2、使用代理(首选)

从实际观测来看,应该使用了反向代理,采用一个这样的IP(域名),既能让国内正常访问,同时也能正常访问GitHub,然后在这个IP的主机上搭建一个反向代理,接收国内的访问,代理请求GitHub并返回结果给访问者。

这种办法只需要更改github.com为代理的域名即可,使用方式与GitHub除了域名不同其他都一样,速度挺快,可登陆,可提交。类似站点众多但服务连续性和稳定性普遍不强(安全性待验证),不过成本较低、简单便捷。比如https://kgithub.com(这个地址后期可能失效),也有人专门列举和更新有效的代理清单。

具体替换github.com这个地址的方式有两个,一是直接git remote来修改具体仓库的地址,二是全局修改git,如下:

git config --global url."代理地址如https://kgithub.com/".insteadOf "https://github.com/"  # 全局修改
git config --global --list  #  查看配置
git config --global --unset url.https://github.com/.insteadof  # 取消修改

3、修改hosts(备用)

当前网上最多的使用方法,即通过类似站长工具的手段查询获取GitHub域名的IP,然后增加本地hosts解析记录。但不论Windows还是Linux,都有几个不足的地方。

#Windows: C:\Windows\System32\drivers\etc\hosts;Linux: /etc/hosts
ip1 github.com
#ip2 github.com
ip3 xx.github.com

1)根据GitHub官网说明,它的IP会不定期修改,且不告知当前具体IP是什么,只是给出IP CIDR网段。当然Web方面尾部的几个IP都是32位子网掩码,可以确定具体IP,但不知道当前使用的是哪个,不过目前观测来看,正在使用的IP基本上长期不变化。

……
“web”: [
“192.30.252.0/22”,
“185.199.108.0/22”,
“140.82.112.0/20”,
“143.55.64.0/20”,
“2a0a:a440::/29”,
“2606:50c0::/32”,
“20.201.28.151/32”,
“20.205.243.166/32”,
“20.87.225.212/32”,
“20.248.137.48/32”,
“20.207.73.82/32”,
“20.27.177.113/32”,
“20.200.245.247/32”,
“20.233.54.53/32”

],
“api”: [
“192.30.252.0/22”,
“185.199.108.0/22”,
“140.82.112.0/20”,
“143.55.64.0/20”,
“2a0a:a440::/29”,
“2606:50c0::/32”,
“20.201.28.148/32”,
“20.205.243.168/32”,
“20.87.225.211/32”,
“20.248.137.49/32”,
“20.207.73.85/32”,
“20.27.177.116/32”,
“20.200.245.245/32”,
“20.233.54.49/32”
],
……

2)指定的具体IP,同样频繁时不时不能访问,导致你又得去找新IP,不停的修改hosts在几个IP中来回切换。该方法不具有便捷性和持续性。

而之前指定的IP并非不再使用,从这里看出,不仅仅是域名解析问题那么简单。

3)寻找IP的方式太单一和缺乏足够准确性。一种做法是通过ping来获取,如果说是DNS解析污染,那这个方式最好不用,同时GitHub的IP从实测上看不会响应ping的ICMP包。二种做法是使用前面提及的IP查询工具,但返回的IP太少。这里补充个方式 - 直接查询GitHub域名的A记录。通过类似这个网站来查询,可以一次性查看GitHub在不同区域和不同DNS服务商的解析配置记录,这里列举几个得到的IP。

192.30.255.113 # Cloudflare、Authoritative
192.30.255.112 # Google、OpenDNS
20.87.225.212 # Microsoft
20.248.137.48 # Microsoft
20.207.73.82 # Microsoft
140.82.121.4 # Microsoft
20.201.28.151 # Microsoft
140.82.121.3 # GitHub
140.82.114.4 # GitHub
140.82.112.4 # GitHub

从这里你可能也发现了,域名解析配置的实际IP和前面GitHub官网meta API给出的不太一致,用哪个?用实际的DNS记录。

4、使用镜像(我不用)

把GitHub的实际内容同步、复制一份,并开放访问。这种方式成本较大、时效性稍弱,但也提供一些增值服务。如gitclone.com。文章来源地址https://www.toymoban.com/news/detail-546649.html

到了这里,关于解决GitHub不能访问的几个办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows和Linux访问不了GitHub的解决方法

    使用Windows访问GitHub时,出现如下情况,显示无法访问。 打开域名查询网站:https://tool.chinaz.com/dns 输入GitHub的域名,点击立即检测。 出现如下页面,可以看到GitHub域名对应的很多IP地址。 点击PING,可以看到PING检测结果如下,失败或者成功,记住可以ping成功的IP地址。 使用

    2024年01月25日
    浏览(54)
  • 解决github有时能访问有时不能访问的问题

    在国内访问github的时候,有时候能访问,有时候不能访问。 原因是,github.com这个域名对应的IP地址有很多个,有些在我国允许访问的范围内,有些不在。当你的计算机通过DNS解析的github.com对应的地址恰好在我国允许访问的范围内,你就可以访问,反之不能。 通常情况下,多

    2024年02月07日
    浏览(94)
  • github站点能访问,但代码不能推拉解决方案

    经常间歇性出现github站点能访问,但代码不能推拉解决方案, 常见错误信息如上。 解决方案如下: 访问链接:https://raw.hellogithub.com/hosts(ps:这链接定时更新),获取对应的host配置。 如果需要工具自动更新的话,点击链接:https://github.com/oldj/SwitchHosts         两种情况

    2024年01月24日
    浏览(51)
  • github 访问慢的解决办法

    多个地点ping[github.com]服务器,网站测速,站长工具 https://ping.chinaz.com/github.com 多个地点ping[assets,cdn.github.com]服务器,网站测速,站长工具 https://ping.chinaz.com/assets-cdn.github.com 多个地点ping[github.global.ssl.fastly.net]服务器,网站测速,站长工具 https://ping.chinaz.com/github.global.ssl.fastly.net 先访问

    2024年02月11日
    浏览(47)
  • #解决办法:Github访问异常(无法访问或访问速度缓慢)

    无法访问,加载速度缓慢   异常原因:   当我们访问GitHub 的网址时,会向服务器发送一个请求,获取到 GitHub 网站所在的服务器 IP 地址,但是这个国际的开源代码平台解析出来的IP有的是不能访问,导致我们访问不了或者访问效率比较低。 分析:   据此原因分析,我们可通

    2024年01月23日
    浏览(81)
  • 解决Github访问比较慢的办法

    目录 前言 一、Github出错的原因 二、解决办法 1.修改hosts文件        1.1  打开文件:        1.2  添加ip地址        1.3  dns刷新 2.Github镜像 总结          无论是在学习中还是在以后的工作中,我们都需要通过做一些经典的项目来巩固自己的计算 机基础知识,github是一个

    2024年02月11日
    浏览(48)
  • GitHub经常打不开或者访问解决办法

    访问慢或无法访问的原因:DNS解析是最为基础的一个环节。由于Github的服务器在全球各地,域名解析所需的时间也会不同,这就导致了在特定地区可能会出现Github无法正常访问的情况。 解决:查询到github对应的IP,然后在hosts中配置IP和域名的对应关系,就相当于告诉浏览器目

    2024年02月05日
    浏览(50)
  • github访问不了问题

    git clone github上的项目的时候,不是访问不了,就是克隆过程被中断了 最近找到一个代理,从代理那里clone而不是github上 GitHub代理 – 初果编程

    2024年02月04日
    浏览(61)
  • docker hub 访问不了,可以进行拉取和推送,但是不能进行注册登陆了,界面找不到了,大家一起讨论看看有什么好的解决办法。

    在 oschina 的地方找找了文章和原因: https://www.oschina.net/comment/news/241627 目前配置源还是可以正常的pull 和 push 的。 昨天刚把 IOT 项目的镜像推送上去。 但是登陆不了界面,创建不了新的应用了。还不是很方便。 https://jianmuhub.com/ 看上去貌似应用和镜像比较少. 还有个地方:d

    2024年02月09日
    浏览(46)
  • GitHub commit时出现 无法访问443 Operation timed out的解决办法

    当使用git 的commit命令将代码提交到github时,出现无法访问443 Operation timed out 思路:更改网络的DNS配置 1.找到你连接网络的DNS,按照下图进行配置 全部确认后,再次提交, 即可正常! 说明git命令行在拉取/commit代码时并没有使用vpn进行代理 所有我们需要的就是去将其设置上,

    2024年02月19日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包