解决github有时能访问有时不能访问的问题

avatar
作者
猴君
阅读量:0

在国内访问github的时候,有时候能访问,有时候不能访问。

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

通常情况下,多刷新几次浏览器,DNS多解析几次,就有可能会正常打开github。但是过不了多久,又会出现同样的问题。

如何彻底解决不能访问的问题呢?

其实,只需要将你访问的github.com固定解析到一个国内可以访问的IP地址上就行。

至于DNS服务器,基本上你是无权限修改和配置的。不过,你的电脑倒是可以被你完全控制。因此,来修改C:\Windows\System32\drivers\etc\hosts这个文件,为它添加一条DNS解析即可。

操作步骤:
1、在浏览器可以访问github.com的时候,打开控制台,执行域名解析:

Microsoft Windows [版本 10.0.22621.1413] (c) Microsoft Corporation。保留所有权利。  C:\Users\Zmrbak>nslookup github.com 服务器:  secdns.cdut.edu.cn Address:  202.115.128.34  非权威应答: 名称:    github.com Address:  20.205.243.166  C:\Users\Zmrbak> 

记录下github.com域名的IP地址 20.205.243.166。

2、用记事本打开C:\Windows\System32\drivers\etc\hosts

# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # #      102.54.94.97     rhino.acme.com          # source server #       38.25.63.10     x.acme.com              # x client host  # localhost name resolution is handled within DNS itself. #	127.0.0.1       localhost #	::1             localhost  20.205.243.166 github.com 

按照示例,最后面添加一行 “20.205.243.166 github.com”。然后保存文件。

注意:由于hosts是系统文件,有可能你没有权限写入。遇到这种情况,先将其保存在其他地方(比如,桌面上)。再确保未自动添加扩展名。接下来,将其拖入C:\Windows\System32\drivers\etc\文件夹,将原来的hosts文件覆盖掉即可。

3、测试
从浏览器打开github.com,点击上面的连接,你会发现是可以正常访问。像360浏览器会出现如下安全警告。
在这里插入图片描述
这种情况,可以忽略。从提示信息可以看出,这次访问是通过hosts解析,而非dns解析。从此,你访问github的时候,其实访问的就是一个固定IP地址。

当然,也会有潜在的问题,比如这个IP地址的服务器关机了,那你就再也访问不了github了。解决办法就是,删除hosts中的这条记录,然后按照本文重来一遍。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!