🔗 功能:ACL 命名空间
- 目标:为 ACL 类型添加命名空间(例如 icap 和 http)。
- 状态:进行中
- 预计完成时间:未知
- 版本:
- 开发者:AlexeyVeselovsky
- 更多:
🔗 详细信息
Squid 有许多 ACL 类型。其中许多类型适用于 HTTP 请求或响应属性。由于 ICAP 事务使用相同的请求和响应类,因此许多 ACL 可以按原样用于它们。
但是,如果我们把 ICAP 报头塞进 ACL 对象并应用现有的 ACL 代码来处理这些 ICAP 报头,那么用户将无法编写查看 ICAP 事务内部 HTTP 报头的 ACL。如果我们反过来做,把 HTTP 报头塞进 ACL 对象,那么用户就无法基于 ICAP 报头做出决策。
当然,我们不应该复制现有的 acltype 支持。代码应该根据作用域,以某种方式向 ACL 提供正确的报头。
非 ICAP 选项将默认为 HTTP 作用域。ICAP 选项可能需要显式作用域以避免混淆。
理想情况下,该设计应该允许将来添加其他命名空间,但这并非关键。
🔗 配置
假设 ACL 对象可以同时存储 ICAP 和 HTTP 消息。用户可以使用命名空间或作用域技术指定 ACL 应应用于哪条消息。例如,给定一个通用的 rep_status_code ACL 类型(目前称为 http_status),用户应该能够说
acl bad_icap_response icap::rep_status_code 202
acl bad_http_response http::rep_status_code 555
icap_retry allow bad_icap_response
icap_retry allow bad_http_response
icap_retry deny all
分类: WantedFeature
导航:站点搜索,站点页面,类别,🔼 向上