Internet 内容适配协议 (Internet Content Adaptation Protocol, ICAP) 是一种类似于 HTTP 的轻型协议,用于将 HTTP 消息传输到第三方服务。服务器执行其转换服务以处理消息,并将响应发回到客户端,通常包含修改的消息。
有关 ICAP 的更多信息,请参见 RFC3507。
支持 ICAP 通过 NSX Advanced Load Balancer 进行 HTTP 请求处理。通过在 NSX Advanced Load Balancer 中实施的 ICAP 客户端功能,支持以下用例:
防病毒扫描 - 使用第三方防病毒扫描引擎
内容清理 - 使用第三方内容清理服务
使用 ICAP 服务的其他请求修改选项,例如 URL 筛选
为 NSX Advanced Load Balancer 配置 ICAP
作为 ICAP 客户端,NSX Advanced Load Balancer 支持以下功能:
预览功能
流式传输负载
内容重写
以下是在 NSX Advanced Load Balancer 上为虚拟服务启用 ICAP 的主要配置组件:
配置 ICAP 池组
配置 ICAP 配置文件(附加到虚拟服务)
为虚拟服务配置 HTTP 策略,并将操作设置为“启用 ICAP”
将 ICAP 配置文件与虚拟服务相关联
为 ICAP 配置 HTTP 安全策略
配置 ICAP 池组
导航到池组故障设置下面的失败操作字段保留空白。
,然后创建一个池组。将配置 ICAP 池
导航以创建一个 ICAP 池。将默认端口配置为 1344。可以将多个服务器添加为池成员。
配置 ICAP 配置文件
有关 ICAP 配置文件配置中使用的各种属性,请参阅下表:配置项
描述
示例
名称
该配置文件的名称
ICAP-APPX
云
指定与其关联的云对象
Default-Cloud
池组
所有 ICAP 服务器池的池组
ICAP-Pool-Group
供应商
供应商特定的配置(如果支持供应商)
OPSWAT
Generic-ICAP
服务 URL
ICAP 服务器服务 URL
在使用 OPSWAT 时:/OMSScanReq-AV
请求缓冲区大小
请求正文的最大缓冲区大小
默认值:51200 (50 MB)
启用 ICAP 预览
启用 ICAP 预览功能,ICAP 服务器可以检查预览大小负载以做出决策
默认值:已启用(布尔值)
预览大小
ICAP 预览的负载大小
默认值:5000 (5 MB)
响应超时
在达到该阈值时,请求将作为错误进行处理,并执行失败操作
默认值:60000(60 秒)
响应速度缓慢警告阈值
在达到该阈值时,请求导致生成重要日志条目,但仍会处理该请求
默认值:10000(10 秒)
操作
描述
示例
故障操作
处理 ICAP 服务器错误。如果设置为“故障时关闭”,在出现错误时,将发送 503。
故障时关闭/故障时打开
大型上载失败操作
处理“超过大小”错误。如果设置为“故障时关闭”,将发送错误 413。
故障时关闭/故障时打开
导航到
以创建一个 ICAP 配置文件。
导航到ICAP 配置文件(在上一步中创建的配置文件)。
,选择所需的虚拟服务,然后选择创建 HTTP 安全策略
创建一个安全策略以定义执行 ICAP 扫描时必须依据的规则。导航到编辑。选择 ,然后使用以下选项创建一个新规则:
,选择所需的虚拟服务,然后单击选择 ICAP 请求的匹配条件
选择启用 ICAP 以作为操作
注:该步骤中配置的规则名称将显示在日志中。请指定自说明性的名称,以便于故障排除。
保存虚拟服务配置。
在执行这些步骤后,虚拟服务的 ICAP 配置到此结束。虚拟服务上与 HTTP 安全策略的规则或匹配条件匹配的入站请求将使用 ICAP。
NSX Advanced Load Balancer 支持以下 ICAP 服务器(第三方防病毒恶意软件/CDR 供应商):
MetaDefender ICAP 服务器(具有 MetaDefender 内核)
要设置 OPSWAT 服务器以进行 ICAP 扫描,请参见 OPSWAT 文档。
限制
以下是 NSX Advanced Load Balancer 上的 ICAP 支持的限制:
HTTP/2 虚拟服务不支持 ICAP。
ICAP 客户端在响应上下文中不起作用。