您现在的位置是: IT外包 ->技术支持 ->服务器 ->
 
本文关键字: WEB服务器
Google
 
利用反向代理保护WEB服务器
作者: 不详 | 发布时间: 2008-04-11 12:17 | 信息类别: 服务器 | 访问人次:
评论 推荐 打印 编辑 】 【 关闭
  

  
一、安装反向代理服务器

  1.下载反向代理服务器软件采用squid,下载地址:

  http://www.squid-cache.org/Versions/v2/2.2/squid-2.2.STABLE5-src.tar.gz

  下载后存放在/usr/local/squid/src目录里,文件名

  squid-2.2.STABLE5-src.tar.gz ;

  2.解压代理服务器软件包:

  进入/usr/local/squid/src目录,键入如下命令:

  gzip -dc squid-2.2.STABLE5-src.tar.gz | tar -xvf -

  这个命令将代理服务器软件包解开,建立一个目录叫作squid-2.2.STABLE5,并且把所有的文件放在这个目录里面。

  3. 编译源程序

  首先运行配置脚本,以便生成适合您的机器的编译脚本。命令格式是:

  ./configure

  这种方式产生的编译脚本编译后默认安装路径是/usr/local/squid。

  如果想改变安装路径,需要用以下格式:

  ./configure -prefix=/some/other/directory

  这种方法编译后安装到/some/other/directory里面。

  生成编译脚本后,可以正式开始编译了。命令为:

  make

  4、 安装Squid代理服务器

  编译通过后,用以下命令安装:

  make install

  安装完成后,会在您指定的安装路径里产生一个squid目录,squid目录下有三个目录:etc、bin、logs。其中etc里面是配置文件,bin里面是执行文件,logs里面是日志文件。

  二、调试反向代理服务器

  安装结束后就是调试服务器,使其按照您的要求工作。Squid的配置文件只有一个,在etc目录里,名字是squid.conf,所有的配置选项都在这个文件里面。而且每个配置项目都有注释说明。我们只介绍与反向代理有关的几个项目。

  首先,在squid文件里面找到下列配置项:

  cache_mem

  这里可以添上您准备给squid作为高速缓存使用的内存大小。注意,如果您的机器有N兆内存,那么,推荐您在这里添的数字是N/3。

  cache_dir /usr/local/squid/cache 100 16 256

  这里的第一个数字100是您准备给squid作为cache使用的硬盘空间大小,单位是兆。如果您想划100M空间当作cache,那么这里就写100。

  acl, http_access, icp_access

  填写"allowedip"和"allowedip1"ACL访问控制列表。这里应该填写你对外公开的服务器IP,比如此例的两个WEB服务器对应的外部地址为202.99.157.10 和 202.99.157.18,

  acl manager proto cache_object

  acl localhost src 127.0.0.1/255.255.255.255

  acl all src 0.0.0.0/0.0.0.0

  acl allowedip src 202.99.157.10/255.255.255.255

  acl allowedip1 src 202.99.157.18/255.255.255.255

  http_access deny manager all

  http_access allow allowedip

  http_access allow allowedip1

  http_access deny all

  icp_access allow allowedip

  icp_access allow allowedip1

  icp_access deny all

  cache_mgr webmaster@test.com.cn

  这里填写cache管理员的Email地址,系统出错会自动提醒cache管理员。

  ******以上部分均为squid的通用设置以下为关于反向代理部分的设置******

  httpd_accel_host test.com.cn

  httpd_accel_host test1.com.cn

  此处设置反向代理的主机名

  httpd_accel_port 80

  此处设置反向代理的WEB服务端口号

  #httpd_accel_with_proxy off

  此处设置开反向代理的同时,是否开普通代理服务

  修改完配置文件,在正式运行squid代理服务器之前,先进行初始化。命令如下:

  % /usr/local/squid/bin/squid -z

  % /usr/local/squid/bin/squid

  检查cache.log文件确保所有部分运行正常。如果有出错信息或系统不能正常启动,一般情况是由于目录和文件的存取权限导致的,请仔细检查各目录和文件的权限设置。 其中特别需要注意的是初始化之前应该将squid目录设置成可写,然后将创建的cache目录和logs目录设置成可写。如果一切正常,那么就可以投入使用了。系统默认的服务端口是3128。

  反向代理服务器软件安装完毕后,将该服务器在80端口的http服务设置成不启用。

  三、调整DNS服务器设置

  假设DNS服务器(以下称标准DNS服务器)将test.com.cn解析为202.99.157.10,将test1.com.cn解析为202.99.157.18,那么我们在配置反向代理服务器这台机器的DNS服务时(我们以下称为内部DNS服务器),可以针对内部地址的WEB做如下变换:

  主机名 标准DNS解析为 内部

  DNS解析为

  www.test.com.cn 202.99.157.10 192.168.1.10

  www.test1.com.cn 202.99.157.18 192.168.1.18

  然后把202.99.157.10和202.99.157.18这两个IP绑定到反向代理服务器上,这样,外界对www.test.com.cn和www.test1.com.cn 的访问就会由标准DNS解析到反向代理服务器上,默认WEB服务器的服务端口是80,但是由于反向代理服务器的80端口的http服务已经终止,此时的访问会没有结果。为了能使该访问请求能够成功完成,需要在反向代理服务器和真实的www.test.com.cn 和www.test1.com.cn 的WEB服务器之间建立联系。要和有内部地址的真实WEB服务器建立联系,首先反向代理服务器上需要再绑定一个内部IP,比如192.168.1.2,其余部分由transproxy这个透明代理软件来完成。Transproxy服务软件通过设置,启用端口81和squid建立联系,把内部DNS对www.test.com.cn和www.test1.com.cn的解析地址传给squid服务器,然后通过squid.conf里面关于服务器端口的设置,将服务端口设置为80,这样,squid就访问内部真实WEB服务器192.168.1.10和192.168.1.18的80端口,把需要访问的WEB内容取回来,放在squid的cache里供外界访问。透明代理软件transproxy设置完成后,需要通过设置ipchains规则,将外界发往反向代理服务器的80端口的http请求转发到transproxy 的81端口,这样就建立了外界通过反向代理间接和真实WEB服务器之间的联系。

(责任编辑:IORI)
阅读次数:31
评论 推荐 打印 编辑 】 【 关闭
『相关链接』
序号
标题 发布日期
1
2008-10-21 15:33:18
2
2008-09-16 09:22:18
3
2008-06-11 22:01:28
4
2008-06-11 10:36:55
5
2008-04-11 12:19:28
6
2008-04-11 12:15:50
7
2008-01-14 09:39:48
8
2008-01-14 09:39:26
9
2008-01-14 09:38:52
10
2008-01-14 09:38:30
    查看所有相关的信息...
【郑重声明】【上海IT外包服务网】 刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何投资或其他建议。转载需经作者本人同意并注明出处。本网站有部分文章是由网友自由上传。对于此类文章本站仅提供交流平台,不为其版权负责。如果您发现本网站上有侵犯您的知识产权的文章,请发信至 或直接电话联系: 021-58879030
请您留言
『发表评论』
匿名发表 会员ID: 密码:

上海蝶应信息科技有限公司
上海市商城路341号紫光大厦1305室 +0086-21-58878998 11394019
dieying@541help.com +0086-21-58879030HappyFreeAngel@hotmail.com
Copyright@2007 IT-WAIBAO.COM Inc.沪ICP备05039378号 版权所有2007-2010 管理员登陆