| 网站首页 | 建站学院 | 资源下载 | 建站教程 | 图片素材 | 网贝社区 | 
您现在的位置: 网贝建站 >> 建站学院 >> 服务器 >> Linux&BSD >> 正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
使用squid加快内网网页浏
利用squid实现反向代理(同时具备内网代理)         
利用squid实现反向代理(同时具备内网代理)
作者:佚名 文章来源:11K.NET 点击数: 更新时间:2004-10-13 21:02:34

我的站点上的所有文件都是静态html,为了进一步的加快网页速度,于是使用squid实现反向代理缓存功能。

@ squid的安装设置
squid的安装与设置请参照使用squid加快内网网页浏览速度
,本文的配置文件与该文squid的配置文件完全相同,所以这里不再详述。

@ 设置apache
因为要对外部实现反向透明代理,所以apache不能再在外网IP的80端口服务,我将它设置到127.0.0.1的80端口,修改httpd.conf中的Listen为:

Listen 127.0.0.1:80

刷新apache配置:
# apachectl restart

@ 重定向外网IP的80端口访问
我使用mpd进行PPPoE拨号,所以外网接口为ng0,将所有发往ng0上的80端口请求转发到127.0.0.1的3128端口上,即转发到squid的服务端口。转发规则如下:

rdr ng0 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128

同时为了使rdr规则转换后的包能通过防火墙,增加如下ipfilter过滤规则:
pass in quick on ng0 proto tcp from any to 127.0.0.1 port 3128 keep state

@ 设置/etc/hosts文件
现在我们已经实现下面的功能:
client ------> ng0:80 ------> 127.0.0.1:3128
接下来就要使squid访问真正的服务以实现反向代理缓存。刚才我已经将apache设置到在127.0.0.1:80端口监听,现在只要让squid访问127.0.0.1:80便可,由于我们在squid的配置文件中设置了hosts文件的位置为/etc/hosts,所以我们只要在hosts文件中设置所有我们的WWW主机(包括虚拟主机)指向127.0.0.1便可。

127.0.0.1 matthew.3322.org sleepcat.3322.org mirrors.2288.org

同时请确保你的主机搜索顺序为 file bind,如果不是,请执行以下命令:
# echo "file" > /etc/host.conf
# echo "bind" >> /etc/host.conf"

现在整个流程如下:
client ------> ng0:80 ------> 127.0.0.1:3128 -------> 127.0.0.1:80
127.0.0.1:80 ----------> 127.0.0.1:3128 ----------> ng0:80 ----------> client

现在反向代理已经建成,刷新ipfilter和ipnat规则,启动squid,你会发现从外网访问你的网站的速度明显比以前快了很多,而且也支持虚拟主机。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)