向所有 Squid 代理用户显示一条消息

向所有 Squid 代理用户显示一条消息

我有一个即将停用的生产 squid 代理。该代理大约有 400 个用户,主要位于远程位置。我们购买了一个新的代理设备,它已准备好使用。

此时,我可以自定义一个错误页面,其中包含有关如何配置代理设置的详细信息,然后禁用对所有站点的访问,以便这些用户可以看到此错误页面。但我宁愿不这样做,因为用户可能会感到困惑,帮助台也会接到大量电话。

我正在考虑在截止日期向代理用户显示提醒以及如何在其电脑上配置代理设置的说明,他们需要单击按钮才能恢复浏览。

有没有办法用 Squid Proxy 实现这个功能?该代理在安装了 Apache 的 CentOS 上运行。

答案1

Squid 支持自定义错误页面,充分利用这一点。

在一个目录中(在我的系统中,只需使用默认目录/usr/share/squid/errors),创建不带任何扩展名的信息页面(例如/usr/share/squid/errors/MY_CUSTOM_INFO_PAGE),然后在 Squid 的配置中创建一个 ACL,该 ACL 将匹配您想要重定向到信息页面的所有请求,拒绝该 ACL 的访问并使用deny_info指令来提供该自定义页面:

deny_info MY_CUSTOM_INFO_PAGE myacl

您还可以指定用户将被重定向到的 URL,只需确保该 URL 不会触发拒绝 ACL,否则您将创建一个重定向循环,可能会对您的服务器造成 DoS 攻击:

deny_info http://some/online/error/page myacl

请注意,当使用自定义错误页面(而不是 URL)时,您也需要设置指令error_directory,除非您准备好将错误页面翻译成错误页面目录中存储的每一种语言:

error_directory /usr/share/squid/errors

相关内容