本人环境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
转载于:https://blog.51cto.com/luyafei/1212829