Squid
Squid:如何阻止 plus.google.com,允許訪問 google.com
1.我在squid中有以下block.acl文件:
.*
預設情況下,它不允許訪問所有內容。
2.white.acl 允許訪問google:
google\..*
我想
plus.google.com
通過將其添加到 block.acl 來禁止訪問:plus\.google\.com
- squid.conf 中包含的文件順序是這樣的:
acl good_url url_regex "/etc/squid/white.acl" http_access allow good_url acl bad_url url_regex "/etc/squid/block.acl" http_access deny bad_url
好後包括壞。
但我仍然可以訪問
plus.google.com
. 我怎樣才能阻止它,保持對主要Google域的訪問?
您的允許
google\..*
匹配其中的每個URLgoogle.
。首先匹配允許,因此允許訪問。您的規則還將允許
google.
URL 中任何位置的任何請求,例如http://example.com/google.asp
此外,Google 嘗試通過 SSL 處理大多數請求,因此拒絕通過
url_regex
在這些請求中不起作用(https 中沒有 URL)。你可以用 squid 做一些中間人的惡作劇來解密 SSL 通信,以便能夠通過 URL 進行過濾。或者dstdom_regex
,可以僅匹配 URL 的域組件,這也將拒絕 SSL 連接到該域。將您的配置重組為明確拒絕,然後明確允許,然後預設為拒絕(使用
all
而不是列表)acl bad_domain dstdom_regex "/etc/squid/block.acl" acl good_domain dstdom_regex "/etc/squid/allow.acl" http_access deny bad_domain http_access allow good_domain http_access deny all
然後在壞列表中包括以下內容:
(.+\.)?plus\.google\..+$
在好名單中:
(.+\.)?google\.
這並不完美,因為您仍將允許其他一些域名使用
google.
其名稱 (google.blah.com)。這(.+\.)?
只是任何子域的特定匹配。如果您想更具體地了解允許Google域上的這篇 wiki 文章應該會有所幫助。