Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > squid配置反向代理
【标  题】:squid配置反向代理
【关键字】:squid
【来  源】:http://www.cublog.cn/u/17006/showart.php?id=146331

squid配置反向代理

Your Ad Here
squid配置反向代理
通过squid配置反向代理主要就是配置“squid.conf”这个配置文件。下面以BDS操作系统为例进行介绍,其它版本的在UNIX也同样适用。在BSD中squid如果是以源代码方式安装的话,安装在“/usr/local/squid/etc/”目录下。如果是系统自带的squid,一般配这文件在“/etc/squid/”目录下。
1.  Squid反向代理单个后台WEB服务器

如果WEB服务器和反向代理服务器是两台单独的机器(一般的反向代理应该有两块网卡分别连接了内外部网络)。那么,应该修改下面的内容来设置反向代理服务。

http_port 80 # squid监听的端口
httpd_accel_host 172.16.250.250 # 内部WEB服务器的IP地址
httpd_accel_port 80 # WEB服务器的IP地址
httpd_accel_single_host on # 转发为缓冲的请求到一台单独的机器
httpd_accel_with_proxy on #
httpd_accel_uses_host_header off

    如果WEB服务器和反向代理服务器是同一台机器。那么,应该设置WEB服务器的监听端口为非80端口(比如:81端口)。要修改的内容如下:

http_port 80 # squid监听的端口
httpd_accel_host localhost # 内部WEB服务器的IP地址
httpd_accel_port 81 # WEB服务器的IP地址
httpd_accel_single_host on # 转发为缓冲的请求到一台单独的机器
httpd_accel_with_proxy on #
httpd_accel_uses_host_header off

下面解释一下配置指令。

http_port 80

选项 http_port 指定squid监听HTTP请求的端口,一般都设置成80端口,这样使用户感觉不到反向代理的存在,就像访问真正的WEB服务器一样。

httpd_accel_host 172.16.250.250 和 httpd_accel_port 80

选项httpd_accel_host 和 httpd_accel_port 指定WEB服务器的IP地址和端口号,可以根据自己的WEB服务器的实际情况而定。

httpd_accel_single_host on

选项httpd_accel_single_host 为on 时,squid被设置成仅对单一的web服务器作反向代理。不考虑HTTP头信息,Squid转发所有的为被缓冲的页面请求到这个web服务器。如果squid需要做多个web服务器反向代理,必须将此选项设置为off,并且使用转向器或者DNS去映射请求到合适的后台WEB服务器。

httpd_accel_with_proxy on

如果希望squid既作反向代理服务器又作本地机器的上网代理,需要将httpd_accel_with_proxy 改为 on,默认情况下是off

httpd_accel_uses_host_header off

在HTTP协议1.1中,HTTP请求包括一个主机头信息,指定URL的主机名或者主机的IP地址。这个选项可以用来完成多个后台WEB服务器的反向代理功能。

2.Squid反向代理多个后台WEB服务器

我们可以用Squid反向代理多个后台WEB服务器。例如:我们可以配置squid同时反向代理www.abc.com, www.xyz.com, www.lmn.com三个后台WEB服务器,示意图如下:

   
Squid的配置如下:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_uses_host_header on

(注意:编译Squid时需激活Internal DNS选项)

然后设置设置反响代理需要的域名解析(Internet用户通过这里解析三个网站的域名)如下:

www.abc.com 202.102.240.74
www.xyz.com 202.102.240.74
www.lmn.com 202.102.240.74

使三个域名都指向反向代理服务器的IP地址202.102.240.74。

下面设置反向代理所需要的DNS入口信息(即设置内部DNS,仅仅是squid在内部使用,Internet用户不可见)。有两种方法可以设置内部DNS,使用内部DNS服务器来解析或者使用/etc/hosts文件来实现。

使用内部DNS服务器的资源记录如下:
www.abc.com IN A 172.16.1.2
www.xyz.com IN A 172.16.1.3
www.lmn.com IN A 172.16.1.4

如果使用/etc/hosts文件来实现内部DNS(编译时应使用disable internal dns选项),编辑/etc/hosts文件添加如下条目:
172.16.1.2 www.abc.com
172.16.1.3 www.xyz.com
172.16.1.4 www.lmn.com
REDHAT AS 3.0上的SQUID透明代理:【上一篇】
[收藏]Linux下软件安装方法总结:【下一篇】
【相关文章】
  • REDHAT AS 3.0上的SQUID透明代理
  • 内存缓冲的squid透明代理
  • SSH+SQUID HOWTO
  • linux下利用Squid构建高速的Proxy Server
  • 用 Squid 实现 反 向 代 理
  • Squid 安装配置指南
  • squid反向代理服务器之一
  • squid配置
  • squid配置-续
  • ClamAV Squid Howto
  • 【随机文章】
  • 一个很值得一去的IT图书网站
  • 在ASP应用中验证用户身份(4)
  • Setuid() - nproc limit 类型漏洞之深入分析(转)
  • Solaris高级系统管理员指南 (1)
  • 支持xterm中文的字体
  • 项目管理-项目风险管理
  • 在Excel中巧用函数出习题
  • 不是我舍不得 - .NET里面的Out Of Memory
  • ASP3.0中的流控制能力(2)
  • FreeHand 机械综合制图(3)-棘轮
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.