当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Squid反向代理若干个后台的WEB实现说明

Linux服务器
在虚拟机RedhatLinux下安装Samba服务器
Linux系统下服务器硬件检查和文件传输
LinuxFtp服务器搭建支持Anonymous读写
Linux操作系统下Vsftp配置使用详细解析
Linux服务器的常用备份方法
SUSELinuxsubversion服务器自启动
RHEL下DHCP服务的配置与应用
linux自带的MAIL客户端用法
用NFS服务开发ARMLinux程序的方法
新手学堂:在Linux系统下mail命令的测试
UbuntuLinux系统下ApacheSSL配置方法
为Solaris服务器配置开源安全工具(下)
在Linux系统环境下配置WU-FTP服务器
Redhatlinux自动FTP传送备份
UbuntuLinux6.06LTS下安装Samba服务
在Centos5安装配置VNC的方法详细介绍
FedoraLinux8配置SAMBA服务的过程
Linux下成功安装和配置Sock5代理过程
实用技巧:Linux系统服务器快速登录
UbuntuServer系统用户安全优化方法

Linux服务器 中的 Squid反向代理若干个后台的WEB实现说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 63 ::
收藏到网摘: n/a

1.Squid反向代理单个后台WEB服务器

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

http_port80#squid监听的端口

httpd_accel_host192.168.0.100#内部WEB服务器的IP地址

httpd_accel_port80#WEB服务器的IP地址

httpd_accel_single_hoston#转发为缓冲的请求到一台单独的机器

httpd_accel_with_proxyon#

httpd_accel_uses_host_headeroff

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

http_port80#squid监听的端口

httpd_accel_hostlocalhost#内部WEB服务器的IP地址

httpd_accel_port81#WEB服务器的IP地址

httpd_accel_single_hoston#转发为缓冲的请求到一台单独的机器

httpd_accel_with_proxyon#

httpd_accel_uses_host_headeroff

下面解释一下配置指令:

http_port80

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

httpd_accel_host192.168.0.100和httpd_accel_port80

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

httpd_accel_single_hoston

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

httpd_accel_with_proxyon

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

httpd_accel_uses_host_headeroff

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

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

我们可以用Squid反向代理多个后台WEB服务器。例如:我们可以配置squid同时反向代理www.xxx.comwww.yyy.comwww.zzz.com三个后台WEB服务器。

Squid的配置如下:

httpd_accel_hostvirtual

httpd_accel_port80

httpd_accel_single_hostoff

httpd_accel_uses_host_headeron

注意:编译Squid时需激活InternalDNS选项

——disable-internal-dns

一个比较全的编译配置如下:

./configure——prefix=/usr/local/squid——enable-dlmalloc——with-pthreads——enable-poll——disable-internal-dns——enable-stacktrace——enable-removal-policies="heap,lru"——enable-delay-pools——enable-storeio="aufs,coss,diskd,ufs"

然后设置设置反响代理需要的域名解析(加入hosts)如下:

www.xxx.com111.222.333.444

www.yyy.com111.222.333.444

www.zzz.com111.222.333.444

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

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

使用内部DNS服务器的资源记录如下:

www.xxx.comINA192.168.0.101

www.yyy.comINA192.168.0.102

www.zzz.comINA192.168.0.103

如果使用/etc/hosts文件来实现内部DNS(编译时应使用disableinternaldns选项),编辑/etc/hosts文件添加如下条目:

192.168.0.101www.xxx.com

192.168.0.102www.yyy.com

192.168.0.103www.zzz.com

上一页[1][2]