精品软件与实用教程
教你如何在阿里云服务器上访问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)。