日记 [2007年05月21日]squid反向代理
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://coolerfeng.blog.51cto.com/133059/76446 |
这里以2.5来介绍首先是安装,从squid-cache下载源码包。解压缩,
如果没有什么特殊要求可以用默认配置只需要用--prefix=/usr/local/squid
指定目录
#tar zxvf squid-stable14.tar.gz
#./configure --prefix=/usr/local/squid
#make
#make install
到这里squid就安装好了
接下来是修改配置文件
需要修改的地方(如果配置文件中有就去掉前面的#没有就手动添加)
常规设置:
cache_effective_user squid #运行squid时的用户
cache_effective_group squid #运行squid时的组 #这个不设在初始化squid的时候会报错,提示权限不足,另外cache目录需要设置squid属主.chown -R squid:squid /usr/local/squid/var
visiblename <hostname>
不设置的话启动squid会提示没有visiblename
和反向代理有关的设置:
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服务器的反向代理功能。 .启动,关闭squid
a.将cache目录的所有者更改为squid #chown -R squid:squid /usr/local/squid/var/cache b.对cache目录进行初始化
#/usr/local/squid/sbin/squid -z
c.启动squid /usr/local/squid/bin/RunCache & d.关闭squid
#/usr/local/squid/sbin/squid -k shutdown 要执行两次才能正常关闭suqid e.重新读取squid.conf文件 #/usr/local/squid/sbin/squid -k reconfigure 需要执行两次才能重新读取squid.conf文件 如果启动squid出现这个错误EXITING DUE TO REPEATED, FREQUENT FAILURES
说明squid没有启动,用ps -aux | grep squid 查到squid的进程,然后killall -9 squid
再重新启动squid
如果没有错误提示,在客户机浏览器测试http://squidIP如果能显示代理的WEB服务器的页面,说明成功了,如果提示Access denid,则说明squid
中没有开放对应的acl
acl inside src 192.168.1.0/24
http_access allow inside
如果需要开放给公众网,则应该设为http_access all all 本文出自 “风吹云动” 博客,请务必保留此出处http://coolerfeng.blog.51cto.com/133059/76446 本文出自 51CTO.COM技术博客 |



coolerfeng
博客统计信息
热门文章
最新评论
友情链接

