🔗 Feature: 可自定义的错误消息
- 目标: 修改 Squid 生成的错误页面布局和内容。
- 状态: 完成。
- 版本: 2.1
- 开发者: 未知。
🔗 详细信息
Squid 允许您自定义错误消息。源分发包中包含不同语言的错误消息。
从 Squid 3.1 开始
- 提供了 CSS 钩子用于显示重新设计和着色。
- 安装语言页面时,默认会自动进行语言翻译。有关更多详细信息,请参阅 Translations Project。
对于旧版 Squid,您可以使用配置选项 –enable-err-language=lang 选择语言。
如果需要,您可以复制并重写任何版本的错误消息模板文件。
🔗 deny_info 嵌入式 URL 代码
Squid-2.1 至 Squid-3.1 仅提供此宏代码
-
- %s
- 客户端请求的绝对 URL
Squid-3.2 添加了 URL 模板代码
-
- %a
- 用户身份
-
- %d
- 自收到请求以来经过的秒数(尚未实现)
-
- %e
- errno
-
- %E
- strerror()
-
- %h
- Squid 公共主机名
-
- %H
- 服务器主机名
-
- %i
- 客户端 IP 地址
-
- %I
- 服务器 IP 地址(注意:大写 **i**)
-
- %M
- 请求方法
-
- %o
- 外部 ACL 辅助程序返回的消息
-
- %p
- URL 端口号
-
- %P
- 协议
-
- %R
- 请求的 URL 路径。
-
- %S
- Squid 版本签名。
-
- %s
- 客户端请求的绝对 URL
-
- %t
- 本地时间
-
- %T
- UTC
-
- %U
- 不带密码的绝对 URL。对于 CONNECT 请求,使用 * 代替路径。
-
- %u
- 带密码的绝对 URL。对于 CONNECT 请求,可能缺少路径。
-
- %w
- cachemgr 电子邮件地址
🔗 ERR_* 嵌入式模板代码
此列表描述了 Squid 将在错误响应消息中替换的宏代码,以及将插入的详细信息。
-
- %a
- 用户身份
-
- %B
- 带 FTP %2f 漏洞的 URL
-
- %c
- Squid 错误代码
-
- %d
- 自收到请求以来经过的秒数(尚未实现)
-
- %D
- Squid 生成的错误详情。可能包含其他错误页面格式代码。目前仅详细说明 TLS/SSL 连接失败。例如,自定义的 ERR_SECURE_CONNECT_FAIL 响应中的 %D 可能会展开为“您正在连接的主机名 (foo.com) 与任何证书名称 (foo.org, foo.net) 都不匹配……”)。支持自 Squid-3.2 起。另请参阅:应用层错误代码(%x)和系统级别错误代码/详情(%e/%E)。
-
- %e
- errno
-
- %E
- strerror()
-
- %f
- FTP 请求行
-
- %F
- FTP 回复行
-
- %g
- FTP 服务器消息
-
- %h
- 缓存主机名
-
- %H
- 服务器主机名
-
- %i
- 客户端 IP 地址
-
- %I
- 服务器 IP 地址
-
- %l
- 本地站点 CSS 样式表
-
- %L
- err_html_text 配置选项的内容
-
- %M
- 请求方法
-
- %m
- 外部认证辅助程序返回的错误消息
-
- %o
- 外部 ACL 辅助程序返回的消息
-
- %p
- URL 端口号
-
- %P
- 协议
-
- %R
- 完整 HTTP 请求
-
- %S
- squid 默认签名
-
- %s
- 带有版本的缓存代理软件
-
- %t
- 本地时间
-
- %T
- UTC 时间
-
- %U
- 不带密码的 URL
-
- %u
- 带密码的 URL
-
- %W
- 用于 mailto 链接的 URL 编码的扩展错误页面数据。
-
- %w
- cachemgr 电子邮件地址
-
- %x
- 应用层错误名称或标识符(例如,X509_V_ERR_UNABLE_TO_GET_CRL)。目前仅支持 SSL 证书验证错误。另请参阅:系统级别错误代码/详情(%e/%E)和应用层错误详情(%D)。
-
- %z
- DNS 服务器错误消息
-
- %Z
- 在失败过程中生成的错误消息。可能为 ASCII 格式。在 HTML PRE 标签内使用。
🔗 HTTPS 不显示自定义错误页面
HTTPS 使用 HTTP CONNECT 消息通过代理进行中继。由于浏览器处理这些 CONNECT 消息的行为(在 https://bugzilla.mozilla.org/show_bug.cgi?id=479880 中描述),代理生成的任何自定义错误页面都会被忽略,而显示一个通用的浏览器页面。
通常,此浏览器页面会提及连接失败或其他无关紧要的细节。
事实上,除 200 OK 之外的任何响应都会被浏览器完全丢弃,并显示相同的浏览器模板页面。这可能导致在使用通过认证代理的 HTTPS 时出现一些非常奇怪的认证问题,以及在使用消息正文与 407 消息相关的认证方案时出现问题。
类别:功能
导航:站点搜索,站点页面,类别,🔼 向上