Server is unreachable 服务器不可及 解决方案
问题描述:
PyCharm IntelliJ IDEA 系列软件登录GitHub账号报如下错误信息:
Server is unreachable 服务器不可及
问题分析:
网络原因,不能访问到国外的服务器
解决方案:
方案一:
利用https协议登录
token方式登录这里就不多描述,不会的请点击下方链接看我另一篇博文:
方案二:
dea设置里搜索HTTP Proxy ,去掉代理就可以了
方案三:
用GitHub镜像方式登录 即:github.com.cnpmjs.org
注意: 镜像只能用来登录,不能生成token,所以需要在github.com环境下生成token.
附解说:
大陆往往欲访问github.com而不可得,但其实可以用镜像站访问,国内可以直接访问的镜像有下面这些:
1:github.com.cnpmjs.org,用法:直接用 “github.com.cnpmjs.org” 代替 “github.com” 即可。例如:
git clone https://github.com/xxxxx/xxxxxxx.git
git clone https://github.com.cnpmjs.org/xxxxx/xxxxxxx.git
2:https://gitclone.com/,此镜像是直接搜索相关仓库,然后克隆。例如:欲克隆git clone https://github.com/tomasr/molokai,则按如下方法:
欲克隆:
git clone https://github.com/tomasr/molokai
则:
git clone https://gitclone.com/github.com/tomasr/molokai
3:另外,也可以直接通过gitee.com中的镜像下载相关仓库资料,如下:https://gitee.com/mirror-github/
方案四: 修改 Hosts 文件
前三种方案都建立在CMD 窗口能ping 同github.com 的前提下
方案四就是传统的,普遍的,全局的,直接改系统hosts:
再总结一下 Github 访问失败或者缓慢的原因:本机网络设置的 DNS 服务器解析 Github 相关域名到遭受污染的 IP 地址,这些 IP 地址要么本身无法访问,要么节点过远,从而导致了访问失败或者速度缓慢。
那么我们修改的方案可以是:
修改本机 Hosts 文件,主动建立域名与 IP 的映射关系,访问到这些域名时直接使用 Hosts 指定的 IP,绕过 DNS 解析。
修改网络的 DNS 服务器,换到能够解析出合适 IP 的 DNS 服务器。
显然第一种方案更加方便。因为 DNS 服务器储存的映射关系是动态更新的,无法直接控制。直接修改本机 Hosts 文件,锁定域名对应的 IP,更加有效方便。当然,Hosts 文件的作用就是绑定域名与 IP 的映射关系。
macOS 修改 Hosts 文件
打开终端,使用 vim 修改 Hosts 文件:
sudo vi /etc/hosts
操作 vim 可以简单百度一下。添加 Github 相关域名的绑定,修改如下图所示,具体值见最后。
sudo killall -HUP mDNSResponder
macOS 自带sudo与vim,当然,可以通过 Homebrew 安装最新版本的vim:brew install vim。
Windows 修改 Hosts 文件
手动方式:
1、打开hosts所在的目录
Win+R->C:\windows\System32\drivers\etc
使用Notepad++或者记事本以管理员身份打开hosts,修改记录格式如下:
输入命令让该记录不用重启而立即生效
Win+R->cmd->ipconfig /flushdns
vim方式:
打开 cmd,使用 vim 修改 Hosts 文件:
sudo vim C:\Windows\System32\drivers\etc\hosts
操作 vim 可以简单百度一下。添加 Github 相关域名的绑定,修改如上图所示,具体值见最后。
刷新网络 DNS 缓存:
ipconfig /flushdns
Windows 不自带sudo与vim,可以通过 Scoop 安装:scoop install sudo vim。
最新 IP 值
列出当前使用的 Github 相关域名比较合适的 IP 值,笔者会定期维护更新。其中的设置可以解决github.com头像无法显示的问题:
注意:直接将下面内容添加到hosts文件下面即可:
# Github Hosts # Update 20210717 # domain: github.com 140.82.113.4 github.com 140.82.113.9 nodeload.github.com 140.82.114.5 api.github.com 140.82.113.9 codeload.github.com 185.199.108.133 raw.github.com 185.199.108.153 training.github.com 185.199.108.153 assets-cdn.github.com 185.199.108.153 documentcloud.github.com 185.199.108.154 help.github.com # domain: githubstatus.com 185.199.108.153 githubstatus.com # domain: fastly.net 199.232.69.194 github.global.ssl.fastly.net # domain: githubusercontent.com 185.199.108.133 raw.githubusercontent.com 185.199.108.133 cloud.githubusercontent.com 185.199.108.133 gist.githubusercontent.com 185.199.108.133 marketplace-screenshots.githubusercontent.com 185.199.108.133 repository-images.githubusercontent.com 185.199.108.133 user-images.githubusercontent.com 185.199.108.133 desktop.githubusercontent.com 185.199.108.133 avatars.githubusercontent.com 185.199.108.133 avatars0.githubusercontent.com 185.199.108.133 avatars1.githubusercontent.com 185.199.108.133 avatars2.githubusercontent.com 185.199.108.133 avatars3.githubusercontent.com 185.199.108.133 avatars4.githubusercontent.com 185.199.108.133 avatars5.githubusercontent.com 185.199.108.133 avatars6.githubusercontent.com 185.199.108.133 avatars7.githubusercontent.com 185.199.108.133 avatars8.githubusercontent.com # End of the section
不一定保证每一项都是正确、有效的,但目前来说笔者实测能够稳定访问 Github &登录 GitHub。欢迎大家留言讨论,指正或者建议更好的解决方案~