天天看點

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

Server is unreachable 伺服器不可及 解決方案

  • 問題描述:
  • 問題分析:
  • 解決方案:
    • 方案一:
    • 方案二:
    • 方案三:
    • 方案四: 修改 Hosts 檔案
      • macOS 修改 Hosts 檔案
      • Windows 修改 Hosts 檔案

問題描述:

PyCharm IntelliJ IDEA 系列軟體登入GitHub賬号報如下錯誤資訊:

Server is unreachable 伺服器不可及

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

問題分析:

網絡原因,不能通路到國外的伺服器
           

解決方案:

方案一:

利用https協定登入

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:
Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

token方式登入這裡就不多描述,不會的請點選下方連結看我另一篇博文:

解決IDEA 登入github失敗問題彙總

方案二:

dea設定裡搜尋HTTP Proxy ,去掉代理就可以了

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

方案三:

用GitHub鏡像方式登入 即:github.com.cnpmjs.org

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

注意: 鏡像隻能用來登入,不能生成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 相關域名的綁定,修改如下圖所示,具體值見最後。

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

重新整理網絡 DNS 緩存:

sudo killall -HUP mDNSResponder

macOS 自帶sudo與vim,當然,可以通過 Homebrew 安裝最新版本的vim:brew install vim。

Windows 修改 Hosts 檔案

手動方式:

1、打開hosts所在的目錄

Win+R->C:\windows\System32\drivers\etc
           
Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

2、編輯hosts檔案

使用Notepad++或者記事本以管理者身份打開hosts,修改記錄格式如下:

Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:
Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

輸入指令讓該記錄不用重新開機而立即生效

Win+R->cmd->ipconfig /flushdns
           
Server is unreachable 伺服器不可及問題描述:問題分析:解決方案:

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。歡迎大家留言讨論,指正或者建議更好的解決方案~