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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 91 ::
收藏到网摘: 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]