本人环境squid3.2.11 反向代理,没自己源站,主要缓存互联网站的图片;

      昨天晚上和群里聊,squid的smp还是不稳定,官方都在测试;建议前端nginx,后端squid,多进程,监控多端口;

问题还是很多,我squid 带代理,日志看都是

369761286.018      0 127.0.0.1 TCP_DENIED/403 3813 GET http://squid_server_pool:82/search? - HIER_NONE/- text/html
1369761286.068      0 127.0.0.1 TCP_DENIED/403 3721 GET http://squid_server_pool:82/165dba1f/expr-51A45173-000000007264DA5451A45173000D5A14.1.jpg - HIER_NONE/- text/html
1369761286.163      0 127.0.0.1 TCP_DENIED/403 3757 GET http://squid_server_pool:82/wanmei/index.htm - HIER_NONE/- text/html
1369761287.277      0 127.0.0.1 TCP_DENIED/403 3681 GET http://squid_server_pool:82/proxy.php - HIER_NONE/- text/html

可以看到访问后端被拒绝了,我squid,做针对域名做acl;配置如下:

acl aclname dstdomain  "/app/squid/etc/acl.txt"
http_access allow aclname

这样上面那个连接是我upstream 名加监听的端口,nginx配置如下:

upstream  squid_server_pool {
        #ip_hash;
        server 127.0.0.1:81;
        server 127.0.0.1:82;
        server 127.0.0.1:83;
        server 127.0.0.1:84;
        server 127.0.0.1:85;
        server 127.0.0.1:86;
        hash   $request_uri;
}

大家看到我注释了,ip_hash  这个后面讲,这里只是看下后端怎么配置的,解决上面那问题,配置:

location ~  .*\.(jpg|jpeg|gif|png|swf|bmp|flv|js|css)(\?.*)?$ {
         proxy_pass http://squid_server_pool;
              proxy_set_header   Host      $host:80;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      }


squid86.config,其他端口的配置文件一样,只修改127.0.0.1监听的端口;


http_port  127.0.0.1:86  accel vport=80