做过运维服务工作的朋友一定有亲身经历:给政府和大型企业、事业单位做运维支持时,发现他们的服务器往往有着严格的安全管理机制,特别是有限制的访问 Internet。这给运维工作带来了诸多不便。
比如:服务器需要访问 Github, yum 仓库安装一些软件,如果无法访问,安装软件就非常耗时费力。
面对这种情况,有没有办法通过一些合规的技术手段,实现我们期望的网络访问方式呢?
当然有的,先看看下面的整体思路。
抛开技术不谈。我们先回顾一下我们生活中相似的例子:
一个健康的人,他可以出门完成各种与衣食住行相关的事情。如果他生病了,被禁锢在病床或病房或医院内,那么他就无法自由的去活动范围之外的地方。但特殊情况下,必须离开活动空间之外,应该怎么办?
答案非常简单:委托一个健康的、并且可以自由行动的人帮他去完成这些事情。
那我们现在关注的私有云服务器访问Internet问题,其解决方案是不是也可以借鉴这种委托机制呢?
完全可以,因为在计算机技术中,有一种比较成熟的技术方案:代理服务。它就是用于解决此类场景的最佳实践之一。
我们现在的案例中,需要分为三个步骤完成我们的目标:
代理服务的使用,首先要保证合规性。一方面符合所在的单位的网络管理规范,另外一方面遵循国家相关的法律法规。
国家对海外网络的访问有严格的法律要求,请务必做到 100% 合规
由于合规性控制问题,市场上没有可供购买的代理服务。因此,需要自行搭建代理服务。
具体的步骤如下:
接下来我们为私有云服务器上设置本地代理。我们可以为Linux系统设置全局的代,也可以为指定的软件设总代理(大部分成熟的软件,都支持代理设置)。
假设代理服务器的IP为:111.99.190.142,端口为:9094
我们也可以为指定的软件单独设置代理,下面以 Git, Docker, Yum 为例进行说明。
使用 SSH 直接运行如下的命令即可(代理服务的IP和端口根据实际情况修改)
git config --global https.proxy 111.99.190.142:9094
git config --global https.proxy 111.99.190.142:9094
修改 Docker 的系统服务文件 /etc/systemd/system/docker.service
[Service]
Environment="HTTP_PROXY=111.99.190.142:9094/"
Environment="HTTPS_PROXY=111.99.190.142:9094/"
根据实际情况修改保存后,重启 Docker 服务后生效
修改 /etc/yum.conf,增加下面的代码(代理服务的IP和端口根据实际情况修改)
proxy=111.99.190.142:9094
委托与被委托机制,在技术领域是一个简单有效且被广泛使用基本架构哲学方法。希望读者朋友们可以举一反三,灵活驾驭它。
本文由Websoft9原创发布,转载请注明出处。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有