用户使用ECS时,经常有这样的需求,即购买了一台有外网的ECS, 其余ECS没有购买公网带宽,并且希望外网能够访问到没有公网IP的ECS服务器。
这个需求可以通过在有公网ECS主机上配置代理来实现,本文介绍如何配置squid代理。
Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快。
按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
本文为大家介绍反向代理的搭建方式。
反向代理原理:
本实验环境:
操作系统:CentOS release 6.5(Final)
Squid版本:squid-3.1.23-9.el6.x86_64
1. 检查squid软件是否安装
# rpm -qa|grep squid
2. 如果未安装,则使用yum 方式安装
# yum -y install squid
3. 设置开机自启动
# chkconfig --level 35 squid on
4. 编辑squid 的主配置文件 /etc/squid/squid.conf
http_port 80 accel vhost
http_access allow all
cache_peer 10.171.40.81 parent 80 0 originserver round-robin weight=1
visible_hostname squid.test.env
cache_mgr admin@test.com
注意:
10.171.40.81是后端ECS内网的IP,请根据用户实际的IP地址修改
http_port 80 为代理端口
5.初始化squid
# squid –z
6.启动Squid
# /etc/init.d/squid start
到这里squid就配置好了。
7. 在后端ECS上安装好web服务器,具体配置步骤这里就省略了。
8.访问代理服务器的IP地址,查看访问到了后端ECS的网页:
这样我们就配置好了反向代理