设为首页 收藏本站
查看: 1552|回复: 0

[经验分享] 第 四 十 天:squid 代 理 一 些 配 置

[复制链接]

尚未签到

发表于 2018-12-28 09:10:48 | 显示全部楼层 |阅读模式
  小Q:我认识的最成功的首席执行官刚开始都不只是为了钱--他们都梦想用自己的产品或
        服务改变世界,钱会随之而来的。---奥巴马在佐治亚州莫尔豪斯学院毕业典礼上说
  

  

  
  ----------------squid日志不记录指定类型文件----------------------
  在squid.conf中加入:
  acl nolog urlpath_regex -i \.css \.js \.swf \.jpg \.gif \.png \.jpeg

  access_log /var/log/squid/access.log common !nolog
  #其中common 为日志格式
  

  ----------------------squid代理用户认证-------------------------
  用authentication helpers添加身份验证
  有如下几种认证方式 :
  => NCSA: Uses an NCSA-style username and password file.
  => LDAP: Uses the Lightweight Directory Access Protocol
  => MSNT: Uses a Windows NT authentication domain.
  => PAM: Uses the Linux Pluggable Authentication Modules scheme.
  => SMB: Uses a SMB server like Windows NT or Samba.
  => getpwam: Uses the old-fashioned Unix password file.
  => SASL: Uses SALS libraries.
  => NTLM, Negotiate and Digest authentication
  配置NCSA 认证
  创建认证用户名/密码,用htpasswd,需要apache:

  #htpasswd  /etc/squid/passwd user1
  输入密码
  确定squid是否支持authentication helper
  yum 安装的
  #rpm -ql squid | grep ncsa_auth
  输出:
  /usr/lib64/squid/ncsa_auth
  配置SQUID认证
  vi /etc/squid/squid.conf
  加入验证部分内容:

  auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
  //定义squid密码文件与ncsa_auth文件位置

  auth_param basic children 15                   //认证进程的数量
  auth_param basic realm Squid proxy-caching web server
  auth_param basic credentialsttl 2 hours        //认证有效期
  auth_param basic casesensitive off             //用户名不区分大小写,可
  

  改为ON区分大小写
  添加 acl 验证用户:

  acl ncsa_users proxy_auth REQUIRED
  http_access allow ncsa_users
  

  重启: /etc/init.d/squid restart

  

  ----------------------配置防盗链-----------------------
  在squid.conf中的acl段添加如下配置:
  acl has_referer referer_regex
  acl allow_referer referer_regex -i baidu\.com
  acl allow_referer referer_regex -i google\.com
  acl allow_referer referer_regex -i yahoo\.cn
  

  http_access allow !has_referer
  http_access deny !allow_referer
  deny_info http://img1.test.com/images/noposter.jpg allow_referer
  

  has_referer匹配Referer存在,然后利用!has_referer来匹配没有Referer即直接访问的请求,这部分请求不予做防盗链处理,allow。
  allow_referer即允许使用源站资源的网站,然后利用!allow_referer来匹配不在允许列表的网站,这些不允许的Referer过来的请求就返回deny_info的内容
  

  ---------------------查看squid缓存-------------------
  命令:  squidclient -h host -p port mgr:info
  比如:  /usr/local/squid/bin/squidclient -h 127.0.0.1 -p 8080 mgr:info
  

  使用这个命令的前提是,你在你的squid.conf 中配置了相关的选项
  acl manager proto cache_object
  http_access allow manager
  

  ---------------------删除squid缓存---------------------
  首先在squid 的主配置文件中添加acl 列表,并允许受信任的主机有权限清除缓存
  acl  managercache   src 192.168.1.145 127.0.0.1
  acl   Purge  method PURGE
  http_access allow  managercache Purge
  http_access  deny Purge
  清除squid 中一条缓存
  /usr/local/squid/bi/squidclient -h  192.168.1.145 -p80 -m PURGE
  http://www.linuxidc.com/404.html
  批量清除squid 缓存中的文件
#脚本 如下
    #!/bin/sh
   squidcache_path="/usr/local/squid/var/cache/"
   squidclient_path="/usr/local/squid/bin/squidclient"
   grep -a -r $1 $squidcache_path/* | strings | grep "http:" | awk -
F'http:' '{print "http:"$2;}' > cache_list.txt
   for url in `cat cache_list.txt`; do
   $squidclient_path -m PURGE -p80 $url
   done  注:squidcache_path 是squid 缓存路径  squidclient_path 是squidclient命令的路径
  -p  是指定squid 监听的端口        并给clearcache.sh    执行权限
  chmod +x  clearcache.sh
  使用方法
  1、清除所有Flash缓存(扩展名.swf):

  ./clear_squid_cache.sh swf
  2、清除URL中包含sina.com.cn的所有缓存:

  ./clear_squid_cache.sh sina.com.cn
  3、清除文件名为zhangyan.jpg的所有缓存:

  ./clear_squid_cache.sh zhangyan.jpg
  

  

  衔接地址:http://beibing.blog.运维网.com/10693373/1700901





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-656698-1-1.html 上篇帖子: Nginx的proxy_cache缓存功能取代Squid 下篇帖子: 计算用户访问Squid前十名的URL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表