精品軟體與實用教程
教你如何在阿里雲伺服器上存取GitHub
阿里雲端伺服器(國內區域)無法訪問 GitHub.com 是一個常見問題,通常與網路限制、DNS 解析或防火牆配置有關。以下是針對此問題的分析和解決方案,適用於大多數情況:
問題原因
網路限制:
中國大陸的網路環境對部分海外網站(如GitHub)有存取限制,可能是營運商或防火牆導致的。
阿里雲國內伺服器受到這些限制的影響,尤其是未備案的網域名稱或IP。
DNS 解析失敗:
預設DNS 伺服器可能無法正確解析GitHub.com 的IP 位址,導致 Could not resolve host: github.com 錯誤。
GitHub 使用的 HTTPS(443 埠)或 SSH(22 埠)可能被阿里雲安全群組或伺服器防火牆攔截。
伺服器配置問題:
本地網路配置(如 hosts 檔案)或代理商設定可能導致訪問異常。
解決辦法
方法1:修改DNS 配置
查看目前dns配置
cat /etc/resolv.conf
如果預設DNS(如阿里雲提供的100.100.100.100)無法解析GitHub,替換為公有DNS:
Google DNS:8.8.8.8 和8.8.4.4
Cloudflare DNS:1.1.1.1 和1.0.0.1
編輯/etc/resolv.conf
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf echo "nameserver 1.1.1.1" | sudo tee -a /etc/resolv.conf
測試訪問,看看是否ping的通
ping github.com
如果上面的方法不管用,還是無法存取GitHub的話,那麼問題應該出在網站網域解析上。
方法2:手動新增hosts 文件
取得GitHub 的IP 位址:
在本地(無網路限制的環境)運作:
ping github.com
這個取得的是最新的github.com的IP位址,當然你也可以在不同的伺服器上ping github.com 會得到一些不同的位址
- 20.205.243.166
- 140.82.114.3
- 140.82.112.3
- 140.82.113.3

sudo vi /etc/hosts
編輯完畢後儲存,退出!再ping
你剛剛填寫的IP位址已經成功了!現在伺服器可以存取github了。
GitHub 使用多個IP,可能會因負載平衡而變化,需定期更新。
適合臨時解決,無法處理所有GitHub 相關網域(如raw.githubusercontent.com)。