1 问题
GitHub上的项目的有些资源是放在raw.githubusercontent.com上的,通常我们在安装某些软件的时候会从该地址下载资源,直接访问的话经常容易失败。
# 安装operator
kubectl apply -f https://raw.githubusercontent.com/oceanbase/ob-operator/2.1.0_release/deploy/operator.yaml
# 报错内容
The connection to the server raw.githubusercontent.com was refused - did you specify the right host or port?
分析原因:因为神秘力量,域名解析不了,所以访问不了。
解决方法:不用域名登录,直接用ip登录,或者去/etc/hosts里设置下域名解析
2 解决方法
利用修改hosts文件的方法
hosts文件中有用的内容都以一行一行的形式排布,格式为 ip地址 + 空格 + 域名 ,比如 140.82.114.4 github.com ,这样设备在访问 github.com 时就会直接访问 140.82.114.4 这个地址了,而不用向DNS服务器查询。
2.1 查询出raw.githubusercontent.com的ip地址
我们利用查询网查询,查询网的地址为:https://www.ip138.com
查询结果为
2.2 在/etc/hosts里填写如下内容
# 把 185.199.109.133 raw.githubusercontent.com 追加到/etc/hosts
echo "185.199.109.133 raw.githubusercontent.com" >> /etc/hosts
3.2 再次执行安装语句,执行成功
# 再次执行安装operator
kubectl apply -f https://raw.githubusercontent.com/oceanbase/ob-operator/2.1.0_release/deploy/operator.yaml
# 下面为执行成功的信息
namespace/oceanbase-system created
customresourcedefinition.apiextensions.k8s.io/obclusterbackups.oceanbase.oceanbase.com created
customresourcedefinition.apiextensions.k8s.io/obclusterrestores.oceanbase.oceanbase.com created
......
总结
总的来说修改hosts文件来解决一些网站因为DNS原因无法访问或者访问缓慢的情况还是非常方便的。这个方法也可以用于改善 github.com 、github.global.ssl.fastly.net 等网站的访问情况。