我希望有一些鱿鱼专家。 我正在尝试配置我的squid.conf文件。 配置工作,但问题是: 当我试图只阻止一个站点时,它会阻止所有内容......
这是我的代码:
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl biz_network src 10.1.42.0/24
acl biz_hours time M T W T F 9:00-17:00
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl fortytwo_network src 192.168.42.0/24
acl bad_url dstdomain .msn.com #### THIS IS THE 1ST LINE THAT CAUSE A PROBLEM ####
http_access allow biz_network biz_hours
http_access allow fortytwo_network
http_access deny bad_url #### THIS IS THE 2ND LINE THAT CAUSE A PROBLEM ####
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_port 8080
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
visible_hostname BenNahmias
粗线会阻止所有网址
如果没有这些行,我可以访问所有网址
我的问题是,这些行的顺序是什么(我标记的那些),所以只有我选择的网站才会被阻止。
- 提前谢谢,奥雷尔。
答案 0 :(得分:1)
对于那些使用acl黑名单来过滤squid代理的网页内容的人来说,这是另一个很好的例子。
答案 1 :(得分:0)
您可以尝试以下方法:
删除此行:
acl bad_url dstdomain .msn.com
您已添加此行:
http_access deny bad_url
请确保您在此处编写了与bad_url acl相关的自己的dns黑名单:
/etc/squid/bad-sites.squid
如果你不知道如何实现,它看起来像这样:
.test.com
.badurl.net
对于像facebook这样的网站,最好使用正则表达式。在你的squid conf上添加这个
acl fbban dstdom_regex facebook
http_access deny fbban
重启你的鱿鱼
/sbin/service squid stop
/sbin/service squid start
或
/etc/init.d/squid stop
/etc/init.d/squid restart