Linux下Squid3.0反向代理的安装与配置


 Linux下Squid3.0和Squid2.X相比,有了很多改变,这里备忘一下:

    Squid3.0的安装是很简单的:

    ./configure --prefix=/usr/local/squid
    make
    make install
    chown -R nobody.nobody /usr/local/squid/var/
    /usr/local/squid/sbin/squid -z

    Squid3.0的配置也不复杂:

    假设我们有两台Apache服务器需要反向代理:www.avnads.cn(IP: x.x.x.x);www.britepic.org(IP: y.y.y.y)。

    如果你的Apache和Squid再同一台服务器上,那么要注意端口问题,可以让Apache使用非80端口,而Squid使用80端口,也可以让 Apache和Squid都使用80端口,只是Apache使用的是回环地址,而Squid使用的是外网地址,此时Apache的httpd.conf里设置的是Listen 127.0.0.1:80。

    squid.conf文件一共有四千多行,不过大部分都是注释,配置反向代理功能大致涉及以下几项:

    acl

    在文件里找到TAG: acl的位置,在其后加上我们的设置:

    acl sites dstdomain .avnads.cn
    acl sites dstdomain .britepic.org

    http_access

    在文件里找到TAG: http_access的位置,其后有一行注释:

    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

    我们就把自定义的规则放在这行的下面:

    http_access allow sites

    http_access的位置是很重要的,在下面有如下设置:

    # And finally deny all other access to this proxy
    http_access deny all

    它会拒绝所有剩下的访问。

    http_port

    在文件里找到TAG: http_port的位置,在其后加上我们的设置:

    http_port 80 defaultsite=缺省站点 vhost

    一般来说,vhost就足够了,不过加上defaultsite还是有好处的,毕竟,有的HTTP1.0客户端不发送Host头,在这种情况下系统有一个缺省值总比没有强。

    cache_peer

    在文件里找到TAG: cache_peer的位置,在其后加上我们的设置:

    cache_peer x.x.x.x parent 80 0 no-query originserver name=foo
    cache_peer y.y.y.y parent 80 0 no-query originserver name=bar

    cache_peer_domain

    在文件里找到TAG: cache_peer_domain的位置,在其后加上我们的设置:

    cache_peer_domain foo www.avnads.cn
    cache_peer_domain bar www.britepic.org

    cache_peer_access

    在文件里找到TAG: cache_peer_access的位置,在其后加上我们的设置:

    cache_peer_access foo allow sites
    cache_peer_access bar allow sites


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3