🔗 功能:eCAP 支持
- 目标:将 Squid3 内容适应性能提高 20% 以上,无需 ICAP 服务器
- 版本: 3.1
- 状态:准备测试;代码在 Squid 3.1 及更高版本中
- 开发者:AlexRousskov
- 更多:eCAP 信息,上下文,Squid 3.1
🔗 可用适配器
| 适配器 | 网站 | Squid 版本 |
|---|---|---|
| gzip 压缩 | http://code.google.com/p/squid-ecap-gzip/ | 3.1 |
| ClamAV 扫描器 | http://www.e-cap.org/Downloads | 3.2.0.6 或更高版本 |
免责声明:Squid 项目不分发、支持或认可这些 eCAP 适配器。有关适配器相关的任何反馈,请联系适配器开发人员。
🔗 配置
安装 libecap 并使用 –enable-ecap configure 选项构建 Squid。安装适配器模块。库和示例适配器可从 eCAP 站点获取。
启用 eCAP 支持,配置 Squid 加载适配器模块,并指定模块提供的服务
ecap_enable on
loadable_modules /usr/local/lib/ecap_adapter_minimal.so
ecap_service eReqmod reqmod_precache 0 ecap://e-cap.org/ecap/services/sample/minimal
ecap_service eRespmod respmod_precache 0 ecap://e-cap.org/ecap/services/sample/minimal
在所有动态加载的服务中,只有匹配 ecap_service 配置的服务才会被 Squid 启用。但是,仅启用适应服务是不够的。您需要使用 adaptation_access 指令将消息定向到服务。
adaptation_service_set reqFilter eReqmod
adaptation_service_set respFilter eRespmod
adaptation_access respFilter allow all
adaptation_access reqFilter allow all
ICAP 和 eCAP 服务可以共存。ACL 控制哪个服务可以处理 HTTP 消息。
🔗 可选 eCAP 功能
Squid 支持通过 libecap::metaClientIp 事务选项将客户端 IP 地址发送给适配器。请参阅 eCAP FAQ 获取详细信息,并且不要忘记在 squid.conf 中启用 adaptation_send_client_ip。
🔗 支持的 eCAP 版本
Squid-3.2 从 v3.2.0.6 开始的版本支持 libecap v0.2.0,并具有配置时的 libecap 版本检查。
最终,Squid 也可能(在运行时)检查加载的适配器是否使用兼容的 libecap 版本构建,但这需要 libecap API 支持才能实现。
🔗 许可问题
注意:这些不是具有法律约束力的意见。如果您对许可有任何疑问,请咨询您的律师。
Squid 在 GPLv2+ 下许可,这会引发关于分发 Squid 插件的许可问题。关于 eCAP 适配器许可要求,存在几种相互冲突的观点,包括:
- eCAP 不是 Squid 特定的 API。符合 eCAP 标准的适配器应该可以在任何符合 eCAP 标准的宿主应用程序中运行。它们不是“Squid 插件”,就像 libc 不是 Squid 插件一样。因此,eCAP 适配器的分发不受 Squid 许可限制。
- 与 eCAP 适配器的通信仅限于调用适配器的“主”函数并等待它们返回。FSF 认为这是一个边缘情况:https://gnu.ac.cn/licenses/gpl-faq.html#GPLAndPlugins
- eCAP 模块完全属于加载并在内部运行的代码范围。因此,任何模块都需要 GPLv2+ 兼容的许可才能分发:http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLAndPlugins
类别:功能
导航:站点搜索,站点页面,类别,🔼 向上