代理服务,让私有云服务器更自由
做过运维服务工作的朋友一定有亲身经历:给政府和大型企业、事业单位做运维支持时,发现他们的服务器往往有着严格的安全管理机制,特别是有限制的访问 Internet。这给运维工作带来了诸多不便。
比如:服务器需要访问 Github, yum 仓库安装一些软件,如果无法访问,安装软件就非常耗时费力。
面对这种情况,有没有办法通过一些合规的技术手段,实现我们期望的网络访问方式呢?
当然有的,先看看下面的整体思路。
整体思路
抛开技术不谈。我们先回顾一下我们生活中相似的例子:
一个健康的人,他可以出门完成各种与衣食住行相关的事情。如果他生病了,被禁锢在病床或病房或医院内,那么他就无法自由的去活动范围之外的地方。但特殊情况下,必须离开活动空间之外,应该怎么办?
答案非常简单:委托一个健康的、并且可以自由行动的人帮他去完成这些事情。
那我们现在关注的私有云服务器访问Internet问题,其解决方案是不是也可以借鉴这种委托机制呢?
完全可以,因为在计算机技术中,有一种比较成熟的技术方案:代理服务。它就是用于解决此类场景的最佳实践之一。
我们现在的案例中,需要分为三个步骤完成我们的目标:
- 合规准备
- 代理服务搭建(公有云服务器)
- 设置本地代理(私有云服务器)
合规准备
代理服务的使用,首先要保证合规性。一方面符合所在的单位的网络管理规范,另外一方面遵循国家相关的法律法规。
- 向网络管理员申请使用代理服务的理由和使用范围,获得同意
- 仔细检查代理服务访问的访问,确保符合国家网络相关法律规范
国家对海外网络的访问有严格的法律要求,请务必做到 100% 合规
代理服务搭建
由于合规性控制问题,市场上没有可供购买的代理服务。因此,需要自行搭建代理服务。
具体的步骤如下:
购买一个具备正常访问互联网的云服务器(简称为:“公有云服务器”)
最低配置(例如:1核1G内存,带宽按量模式 100M)
使用 SSH 登录云服务器,运行如下命令搭建基本环境
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker- compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ln -sf /usr/local/bin/docker-compose /usr/bin sudo systemctl start docker
运行下面的命令,下载代理服务器软件 tinyproxy 到本地
git clone --depth=1 https://github.com/Websoft9/docker-tinyproxy
根据所需,修改软件目录下的 .env_all 文件下如下两个参数
BINDIP=35.129.77.19 # 白名单IP APP_PORT=9094 # 代理端口
BINDIP 代表你的私有云服务器的公网IP地址(白名单),设置在此处即表明它可以使用代理服务,未设置的就无法使用代理服务
登录云服务器控制台,放通上面 APP_PORT 对于的端口,例如:TCP:9094
本地浏览器访问 *http://公有云服务器IP地址:9094*,如果显示如下反馈信息,即表明代理服务器搭建成功。
Access denied The administrator of this proxy has not configured it to service requests from your host. Generated by tinyproxy version 1.10.0.
设置本地代理
接下来我们为私有云服务器上设置本地代理。我们可以为Linux系统设置全局的代,也可以为指定的软件设总代理(大部分成熟的软件,都支持代理设置)。
假设代理服务器的IP为:111.99.190.142,端口为:9094
全局代理
登录私有云服务器,运行下面的命令创建一个代理配置文件
touch /etc/profile.d/proxy.sh
将下面的代码代码复制到 proxy.sh 文件,根据实际情况修改 export proxy 字段
# 代理服务器的 IP:端口 export proxy="111.99.190.142:9094"export http_proxy=$proxy export https_proxy=$proxy export ftp_proxy=$proxy export no_proxy="localhost, 127.0.0.1, ::1"
保存后,重启开启 Shell 终端,代理生效
局部代理
我们也可以为指定的软件单独设置代理,下面以 Git, Docker, Yum 为例进行说明。
Git
使用 SSH 直接运行如下的命令即可(代理服务的IP和端口根据实际情况修改)
git config --global https.proxy 111.99.190.142:9094
git config --global https.proxy 111.99.190.142:9094
Docker
修改 Docker 的系统服务文件 /etc/systemd/system/docker.service
[Service]
Environment="HTTP_PROXY=111.99.190.142:9094/"
Environment="HTTPS_PROXY=111.99.190.142:9094/"
根据实际情况修改保存后,重启 Docker 服务后生效
Yum
修改 /etc/yum.conf,增加下面的代码(代理服务的IP和端口根据实际情况修改)
proxy=111.99.190.142:9094
总结
委托与被委托机制,在技术领域是一个简单有效且被广泛使用基本架构哲学方法。希望读者朋友们可以举一反三,灵活驾驭它。
本文由Websoft9原创发布,转载请注明出处。
代理服务,让私有云服务器更自由相关推荐
- 先河系统为你讲解私有云服务器的优点
私有云可以是云提供商构建的,也可以是公司自己的IT机构.私有云可以部署在企业数据中心的防火墙内,那么SMB私有云的优点有哪些?下面我们一起来了解一下吧. 1.数据安全 每一个公有云的供应商都会对外称, ...
- 企业应该如何搭建私有云服务器数据中心?需要注意哪些问题
近几年来云计算成为热门话题,随着企业业务增多也开始搭建私有云平台,那么企业如何建设私有云平台? 一.做好融合基础架构规划 企业对于私有云的投资并非一个全新的投资项目,可通过整合企业当前现有IT基础设施 ...
- 对基于ubuntu18.04搭建双线adsl路由器和私有云服务器(samba、ftp和http)一文的更正2
在<基于ubuntu18.04搭建双线adsl路由器和私有云服务器(samba.ftp和http)>一文中对于adsl断线重拨后自动更新路由表的脚本,少了自动平衡双线adsl流量的命令,将 ...
- 服务器同步备份到本地文件,私有云服务器同步本地文件
私有云服务器同步本地文件 内容精选 换一换 用户可以将本地NAS存储中的数据,通过云专线迁移至云上SFS Turbo文件系统中,进行云上业务拓展.此方案通过在云上创建一台Linux操作系统的云服务器, ...
- 私有云服务器搭建及ssh连接
私有云服务器搭建及ssh连接 一.私有云服务器搭建 1. 镜像选择 因为我这次搭建服务器就是为了项目部署,所以镜像我选择的是Ubuntu Server 18.04,大家可以去Ubuntu官网进行下载. ...
- 使用Zerotier在私有云服务器中搭建Moon服务器
参考文章链接: 使用Zerotier在私有云服务器中搭建Moon服务器 – Rookie diary导读:我自己在家搭建了一台黑nas,由于使用需求,需要在外访问,但是通过frp又比较麻烦所以选用ze ...
- 什么样的云服务器更受中小型企业的青睐?
什么样的云服务器更受中小型企业的青睐? 云服务器(Elastic Compute Service, 简称ECS)是一种处理能力可弹性伸缩的计算服务,其管理方式比物理服务器更简单高效.云服务器帮助您快速 ...
- php对接AliGenie天猫精灵服务器控制智能硬件esp8266① 在阿里云购买搭建私有云服务器,配置 SSL 证书 ,做好准备工作!
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. php对接AliGenie天猫精灵服务器控制智能硬件esp82 ...
- 对基于ubuntu18.04搭建双线adsl路由器和私有云服务器(samba、ftp和http)一文的更正
在<基于ubuntu18.04搭建双线adsl路由器和私有云服务器(samba.ftp和http)>一文中有两处错误,更正如下: 1)"7b. 配置双线adsl路由表" ...
最新文章
- 白话Elasticsearch50-深入聚合数据分析之基于doc values正排索引的聚合内部原理
- 公网IP和私有IP的区别和用途
- linux怎么取消挂在u盘,linux下如何挂载U盘
- linux系统启动流程及常见问题的解决
- silklabo哪个公众号有资源_适合新手的公众号投稿资源大整合!
- win10中cmd拒绝访问授权
- 在opencv3中实现机器学习之:利用逻辑斯谛回归(logistic regression)分类
- 个人收藏的一些资料(一)Installshield制作友好的更新
- Memcached、Redis、RabbitMQ
- ImportREC输入表重建工具
- 什么短视频更吸引人?考虑到三点,吸粉引流不在话下
- 计算机用手机的网络,台式电脑如何使用手机网络上网
- 年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序
- 【思维导图怎么画】万彩脑图大师教程 | 添加备注
- 那些程序员才懂的笑话
- Centos7.6升级到Centos8.0
- 2022《人工智能》_ch06
- 数据泄露事件频发,数据安全迫在眉睫
- 《DBA: DISTRIBUTED BACKDOOR ATTACKS AGAINST FEDERATED LEARNING》阅读笔记
- 已解决:好用的集成PHP环境 一键安装包PHPNow--Win7下安装phpnow的方法出现[ Apache_pn ] 错误的解决 !(亲自测试通过)
热门文章
- 使用urllib 爬取万条伤感网易云热评
- 网络用语html,2018网络十大用语发布,大司马的口头禅也有,你知道是什么吗
- unity敌人面向玩家_面向游戏玩家的五种便捷(免费)Windows工具
- 实勘丨龙岗南约炳坑京基旧改项目,地铁14号线宝荷站零距离!
- Substance Painter Mari 导出 到MarmosetToolBag
- 【调剂】中国人民大学信息学院2021年专业硕士研究生(电子信息专业 非全日制) 接收调剂的通知...
- 烟囱式架构与共享式架构
- matlab麻雀搜索算法(SSA)优化BP神经网络,权值和阈
- windeployqt打包Qt应用程序
- 敬酒时领导不给面子问:我凭啥和你喝?聪明人机智回复化解尴尬