Squid白名单仅适用于一个身份验证用户



老实说,我不确定这是否容易做到(或者可能做到(,因为我已经仔细搜索了squid文档,没有找到我需要的东西。

我使用的是具有基本ncsa身份验证的squid4代理。以下是我想要实现的,我的代理上有两个使用ncsa身份验证的用户。我希望一个用户能够访问代理上的任何内容(标准http_access allow(,另一个用户只能访问一个url的白名单。

这是我的squid.conf:的身份验证部分

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl squid_users proxy_auth REQUIRED
http_access deny !squid_users
http_access allow squid_users
http_access deny all

有没有办法只为一个具有身份验证的用户访问http_access allow/deny,或者我遗漏了什么?

我真的不知道该怎么办,所以任何帮助都将不胜感激,谢谢!

如果您不在配置中分离用户,就不能指望squid会以不同的方式对待用户。

看看";一个更复杂的例子";地点:https://wiki.squid-cache.org/ConfigExamples/Authenticate/Bypass

具体地说,在定义了auth_param部分之后,您应该使用以下内容

acl UsersGroupA proxy_auth "/etc/squid/groupa.txt"
acl SitesGroupA dstdomain "/etc/squid/sites.a.txt"
acl UsersGroupB proxy_auth "/etc/squid/groupb.txt"
acl authenticated_users proxy_auth REQUIRED
# rules allowing authenticated users
http_access allow SitesGroupA UsersGroupA     # this will force both whitelisted urls AND users of group "A" (the limited group)
http_access allow UsersGroupB                 # this will only force users of group B (the unlimited group)
# catch-all rule
http_access deny all

此外,如果您需要指定端口,您应该在同一行上执行:

acl port_80 port 80
acl port_443 port 443
http_access allow http port_80 SitesGroupA UsersGroupA
http_access allow CONNECT port_443 SitesGroupA UsersGroupA

相关内容

  • 没有找到相关文章

最新更新