Squid %m 参数 - 它是什么意思以及如何使用它

Squid %m 参数 - 它是什么意思以及如何使用它

我正在尝试通过类似以下方式为 Squid 实现自定义身份验证器

auth_param basic program my_authenticator.sh

/etc/squid3/squid.conf文件中。一切正常,但我想做出改进。

的职责my_authenticator.sh很简单:Squid 发送用户名和密码,并等待OK返回ERR

我想要做的改进是向用户解释为什么他们被拒绝服务,例如

ERR You have been browsing too much, come back in 24 hours

根据Squid 文档,这是很有可能的:

“ERR”响应后面可以选择性地跟有错误描述(在返回的错误页面中以 %m 形式提供)。

有人能解释一下这是什么%m意思吗?我一直试图打印一段简单的文本ERR(不带引号,如上所示),但这段文本没有出现在浏览器弹出窗口中。有什么想法吗?

答案1

用于%m将您的自定义消息插入到用户在 squid 响应时看到的错误页面中。要使用它,请找出您使用的语言的 squid 模板错误页面的位置。在我的 Ubuntu 系统上,英语错误页面位于

/usr/share/squid/errors/en

每个文件都是一个模板 html 文件,您可以修改它以满足自己的需求,也可以编写自己的文件。为了测试这一点,我修改了我的 ERR_CACHE_ACCESS_DENIED,例如

<html>
    <body> 
        <h1>ERROR</h1> 
        <h2>%m</h2>
    </body>
</html>

在 ERR 行上显示自定义身份验证脚本返回的消息。

相关内容