国内服务器部署环境时下载依赖被墙如何处理?


比如有一个自动部署的脚本,其中一步是从 https://dl.flynn.io 下载最新的 binary 文件,因为众所周知的原因,无法下载成功。请问应对这种情况的 Best Practice 是啥?

我所能想到的就是服务器安装 ss ,再使用 proxychains 。但显然不是一个好方法,故询问解决方案。

PS: 如何搭建国外的镜像源,有没有相关教程?

部署 gfw 翻墙

死んだ世界 9 years, 8 months ago

用代理吧,推荐一个神器代理ShadowSock: http://www.codefrom.com/p/170.html

各种悲剧419 answered 9 years, 8 months ago

使用VPS反代

Kycon answered 9 years, 8 months ago

设置国内镜像即可。比如rails开发可以设置 http://ruby.taobao.org
目前大部分的镜像taobao都有吧,比如yum docker等

九十九狐狸 answered 9 years, 8 months ago

如果有条件的话,可以在国外的VPS或者虚拟空间上,对目标网站进行反代(反向袋里)。然后修改脚本中对应的地址。如果要使用虚拟空间进行反代,对于虚拟空间有一定要求

VPS可直接使用nginx进行反代,具体操作自行搜索,相关文章很多

虚拟空间主要是通过.htaccess重写,具体可以到freehao123找找关于“反向绑定域名”的文章

护庭师·妖妖梦 answered 9 years, 8 months ago

修改了 DNS 至 百度公共DNS ,其他 DNS 国内公共 DNS 服务参见 这里 ,执行仍会出现如下错误,原因待查。


 11:04:40.741350 host.go:130: tuf: failed to download v1/images/ceb6da07e96d7c6e732af955c9b6f64618b4c3a3cf7c7b2a7cdad07e8af227b3/layer: read tcp 54.230.159.50:443: connection reset by peer
===> 11:04:40.778 ERROR: failed to run "/usr/local/bin/flynn-host download --repository https://dl.flynn.io/tuf --tuf-db /etc/flynn/tuf.db --config-dir /etc/flynn --bin-dir /usr/local/bin", exit status 1

系色MADAO answered 9 years, 8 months ago

生产环境的程序建议在境外购买一台虚拟主机。然后部署为反向代理(例如varnish)或者装个 shadowsocks服务端作为代理中转,能比较稳定解决。至于速度要看你的国外服务商了

RYTHEM answered 9 years, 8 months ago

你想到的办法其实就是个好办法,不知道你为什么觉得不是好办法。。。。。。

第一条路无非就是各种代理,反向代理,还有vpn,相对来说还是比较低廉的。

第二条路是找靠谱的镜像,有的话也挺好的,好用,速度还快。

第三条路是自己做个镜像,但是,你镜像网站在国内的话也得去翻墙啊,难不成做个没被墙的境外镜像?路是通的,但是成本就比较高了。大量的存储等等还是得有些花费的。教程的话,官方应该有的吧,你去镜像官方镜像如果再分享出来是好事,但是也会带来官方镜像的IO负担,所以最好根据官方指引,不然被ban也是有可能的。

我是冰山控啊! answered 9 years, 8 months ago

Your Answer