zoukankan      html  css  js  c++  java
  • squid开多端口代理的心得

    squid开多端口代理的心得

    利用squid开二级代理很方便,就是在配置文件上做点文章, 它给的那个default的配置文件看起来就头大。一般都是重新写一个。
    给A校区的兄弟们开了一个代理。用的是B校区的动态ip做的父代理。
    但是动态实在是有够e。不能上国外不说,还经常抽筋。
    由于手头有另一个专用代理A可以上国外,于是萌发了开两个二级代理的念头。
    只有一台电脑,当然只能在一个自己上开两个端口(其实后来才想到可以用认证的方法,对一个端口进来的不同的用户采用不同的的父级代理,这样squid的配 置文件会稍微麻烦一点),先开始不得要领,也没有现实的例子,看见有人这样开了,问一问才知道是windows下用wingate很简单就能做到了。

    wingate能想到,我想squid也应该能做到,自己慢慢捉摸吧。
    基本想法是:

    服务端口3128-----squid-----动态ip连接----国内访问
    服务端口6666-----squid-----代理A     ----国外访问

    先想到的是启动两次squid,第二次手动指定另外一个配置文件给它(-f),一尝试得到的信息是Squid is already running! Process ID **** 。想一想这种方法也有够野蛮,效率和稳定两不顾,于是弃之不用。
    于是开始打配置文件的主意,在google上查到论坛上关于两个端口采用不同的认证的配置方法,OK,开两个端口就有路了,下来关键是对两个端口的接入进 行分流。squid一般情况下是对不同的连接目标地址所在域进行分流的,比如把对.com的接连请求交给父代理X来做,对.edu.cn的请求代理交给父 代理Y来做,

    这种情况下用到了cache_peer_domain这个选择规则

    cache_peer_domain Y .edu.cn
    cache_peer_domain X !.edu.cn

    既然有目标域的选择规则,那有没有针对其他情况的选择规则呢?
    还是在squid.conf.default中查找到cache_peer_access这个功能强大的访问控制规则(其实这个又大又乱的squid.conf.default里所有的东西都教给我们了
    ,一开始就该好好阅读的)

    比如通过访问控制列表进行选择:
    对于来自192.168.1.0的请求我们使用local.proxy.com父代理服务
    器,而对于其他请求由本地子代理服务器直接进行处理,
    这时我们可以使用cache_peer_access选项来实现:

    acl LocalNet src 192.168.1.0/2525250
    acl all src 0.0.0.0/0.0.0.0
    cache_peer local.proxy.com parent 3128 3130
    cache_peer_access local.proxy.com allow LocalNet
    cache_peer_access local.proxy.com deny all

    结合cache_peer_access的强大功能组合完成了下面的配置代码
    http_port 3128
    http_port 6666
    #声明两个端口
    acl X myport 3128
    acl Y myport 6666
    http_access allow X
    http_access allow Y
    #接受两个端口的http请求
    acl all src 0.0.0.0/0.0.0.0
    cache_peer 10.10.4.52 parent 6666 3130 login=***:*** default no-query
    cache_peer 10.***.**.** parent 3128 3130
    cache_peer_access 10.10.4.52 allow !Y
    #让动态ip的父代理响应3128端口的接入,对6666端口的不响应
    cache_peer_access 10.***.**.** allow Y
    #让A代理响应6666端口的接入

    这样便很好的对不同端口的访问进行了分流。使用起来效果也不错。

  • 相关阅读:
    BZOJ2219数论之神——BSGS+中国剩余定理+原根与指标+欧拉定理+exgcd
    Luogu 3690 Link Cut Tree
    CF1009F Dominant Indices
    CF600E Lomsat gelral
    bzoj 4303 数列
    CF1114F Please, another Queries on Array?
    CF1114B Yet Another Array Partitioning Task
    bzoj 1858 序列操作
    bzoj 4852 炸弹攻击
    bzoj 3564 信号增幅仪
  • 原文地址:https://www.cnblogs.com/myphoebe/p/2131936.html
Copyright © 2011-2022 走看看