Squid 反向代理实验

什么是 Squid , 什么是反向代理 , 什么是 Squid 反向代理 , 有不清楚的请猛击这里 , 这里 , 这里 .

说明一下环境配置 :

客户机 (192.168.3.1) : Fedora release 7 , 做测试之用 .
Web Server (192.168.1.2) : CentOS release 5.5 , Apache / 2.2.3 , /var/www/html/index 里面是一个简单的测试网页 .
Reverse Squid : Redhat Enterprise Linux Server release 6.0 , squid 3.1.4
外网:  eth0 (192.168.3.207)
内网 : eth1 (192.168.1.1)

如下图所示搭建实验环境 


 

在开始实验之前 , 请先关闭三台机子上的 selinux , 有时候访问不成功很可能是它在做鬼 . 另外需要查看一下 iptables , 如果嫌麻烦 , 直接 # iptables -F 即可 .
我们假设客户机 192.168.3.1 要访问的网页的网址是 server.com , 由于没有做 DNS 解析 , 所以我们需要在客户机的 /etc/hosts 里面手动添加下面这一行 :
192.168.3.207 server.com

这样当客户机输入 server.com 时会自动向 3.207 也就是 squid 这台服务器请求链接 .

接下来我们在真正的 web server (192.168.1.2)上启动 httpd , 需要先在 /var/www/html/index.html 里面写上几句话
# server httpd start

另外还需要将 CentOS 的 hostname 修改为 server.com

先在开始配置 squid 这台服务器 , 它的主配置文件在 /etc/squid/ 下面 , 如下图


其中以 default 结尾的据笔者推测应该是备份文件 , 先在开始编辑 squid.conf 这个主配置文件 , 打开发现整个文件才 100 行的样子 , 跟之前用的版本的 几千行的相差甚异 , 其实新版本的 squid 把原来的那份超详细的配置放在了 /usr/share/doc/squid-3.1.4/squid.conf.documented 下面 , 你可以将其 cp 到 /etc/squid 下面并 mv 为 squid.conf .

# vi /etc/squid/squid.conf

acl eth0 src 192.168.3.0/24
acl eth1 src 192.168.1.0/24
.
.
.
http_access allow eth0
http_access allow eth1
# 上面这四句不加影响不大

http_port 192.168.3.207:80 vhost vport
cache_dir ufs /var/spool/squid 100 16 256
cache_mem 100 MB
cache_swap_low 90
cache_swap_high 95
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/store.log
cache_mgr [email protected]

cache_peer 192.168.1.2 parent 80 0 no-query originserver weight=1 name=a
cache_peer_domain a server.com
#仿照上面的两行可以继续添加

# service squid restart

在客户端输入 server.com 应该就可以访问了 :-)

  • http://www.freetstar.com freetstar

    顶一个

  • http://www.freetstar.com freetstar

    你的博客哪里与百度有联系吗?

  • http://www.freetstar.com freetstar

    我了个cao,怎么显示我用的是ms的ie

    • http://jaseywang.info jaseywang

      不知道哎,你的一直是 MS 的 IE –!

      • http://www.freetstar.com freetstar

        i feel confused