服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

代理程序包存储库的最佳实践

我的公司networking中有一系列CentOS服务器。 出于安全原因,除非是服务器的核心function要求,否则大多数服务器不具有通用的出站Internet访问。 当我需要更新软件包时,这会产生一个挑战。 对于yum软件仓库,我目前从互联网镜像所有需要的仓库,并使镜像在内部网中可用。 我在每个五个环境中保留每个回购的副本:开发,质量保证,分期和两个生产数据中心。 我目前没有解决特定于语言的软件包回购问题。 当服务器需要从rubygems,PyPI,PECL,CPAN或npm进行更新时,他们必须获取临时出站Internet访问来获取软件包。 我被要求开始镜像rubygems和PyPI,其余的可能会跟着。 所有这些都是笨重的,并不能很好地工作。 我想用一个环境中的单个caching代理和其他环境中的四个菊花链代理replace它,以消除全镜像的复杂性和磁盘开销。 另外: 它可以是正向或反向代理; 每个软件包pipe理器都支持代理服务器或自定义存储库端点,可以是本地镜像或反向代理。 它需要精细的访问控制,所以我可以限制哪些客户端IP可以连接到哪个回购域。 客户需要能够遵循redirect到未知的领域。 您的原始请求可能仅限于rubygems.org,但是如果该服务器将302返回给随机CDN,则应该可以遵循该请求。 它应该支持HTTPS后端。 我不一定需要模拟其他SSL服务器,但我应该能够通过HTTP重新公开一个HTTPS站点,或者终止并使用不同的证书重新encryption。 我最初是在寻找逆向代理,而Varnish似乎是唯一一个能够让我在内部解决代理中的302redirect的问题。 但是,免费版本的Varnish不支持HTTPS后端。 我现在正在评估Squid作为正向代理选项。 这似乎是企业networking中应该是一个相对普遍的问题,但是我很难find其他人如何解决这个问题的例子。 有没有人执行过类似的事情,或者对如何做到最好? 谢谢!