URL 列表

通过 URL 列表功能,您可以控制对自定义 URL 列表(最多 100 万个条目)的访问。该功能通过应用绑定到虚拟服务器的 URL 筛选策略来筛选网站。

作为管理员,您必须将 URL 列表导入 Citrix ADC 设备。此导入的列表在内部存储为称为 URL 集的策略数据集。然后,设备将唯一的快速 URL 匹配算法应用于传入的 URL 请求。如果传入 URL 请求与集中的条目匹配,设备将应用关联的策略操作来控制访问。

URL 列表类型

URL 集中的每个条目都可以包含 URL 及其元数据(URL 类别、类别组或任何其他相关数据)。对于含有元数据的 URL,设备使用策略表达式评估元数据。有关详细信息,请参阅URL 集

Citrix ADC 设备支持两种类型的 URL 列表:自定义(带或不带 URL 元数据)和 IWF (Internet Watch Foundation)。

自定义 URL 列表。您可以创建一个包含最多 1,000,000 个 URL 条目的自定义 URL 集,并将其作为文本文件导入到您的设备中。该列表可以包含带或不带元数据的 URL(可能类似于 URL 类别)。Thecitrix ADC 平台可自动检测是否存在元数据。它还支持安全地存储导入的列表。有关详细信息,请参阅网址集

IWF 网址列表。您可以导入由 IWF 维护的外部管理列表。要访问此列表,您需要特殊的访问凭据,并且必须使用安全过程。Citrix ADC 内置了对 IWF 列表的支持,使其易于使用。

您可以托管 URL 列表并将 Citrix ADC 设备配置为定期更新列表,而无需手动干预。URL 列表更新后,设备可以通过使用策略表达式评估每个传入 URL,然后应用允许、阻止、重定向或通知用户等操作来自动检测元数据和类别。

URL 列表策略表达式

下表描述了可用于评估传入流量的基本表达式。将 URL 列表导入设备后,它称为 URL 集

表达式 操作
<URL expression>.URLSET_MATCHES_ANY(<URLSET>) 如果 URL 与 URL 集中的任何条目完全匹配,则计算结果为 TRUE。
<URL expression>.GET_URLSET_METADATA(<URLSET> 如果 URL 与 URL 集中的任何模式完全匹配,则 GET_URLSET_METADATA() 表达式将返回关联的元数据。如果没有匹配,则返回空字符串。
<URL expression>.GET_ URLSET_METADATA(<URLSET>).EQ(<METADATA>) 如果匹配的元数据等于,则计算结果为 TRUE <METADATA>
<URLexpression>.GET_URLSET_METADATA(<URLSET>).TYPECAST_LIST_T(‘,’).GET(0).EQ(<CATEGORY>) 如果匹配的元数据位于类别的开头,则计算结果为 TRUE。此模式可用于对元数据中的单独字段进行编码,但仅匹配1<sup>st</sup> 字段。
HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL) 连接主机和 URL 参数,然后可用<URL expression> 作匹配。

URL 列表策略操作

与 URL 列表匹配的 URL 最常见的强制措施是限制访问。使用所需的 URL 列表匹配表达式和强制操作创建 URL 列表策略。策略组使用情况取决于传入流量类型(HTTP 或 HTTPS)和设备上配置的虚拟服务器。您可以对 HTTP 流量使用响应程序策略或对 HTTPS 流量使用视频优化策略。指定要应用于策略中与表达式匹配的 URL 的操作。下表列出了可用的操作。

操作类型 策略 说明
ALLOW 响应方 允许请求访问目标 URL。
REDIRECT 响应方 将请求重定向到指定为目标的 URL。
DENY 响应方 拒绝请求。
RESET 响应器,视频优化 重置连接。
DROP 响应器,视频优化 删除连接。

必备条件

要配置 URL 列表功能,请确保已配置以下服务器。

用于 DNS 请求的 DNS 服务器

如果从主机名 URL 导入 URL 集,则必须配置 DNS 服务器。

在命令提示窗口中,键入:

add dns nameServer ((<IP> [-local]) | <dnsVserverName>) [-state (ENABLED | DISABLED )] [-type <type>] [-dnsProfileName <string>]

示例:

add dns nameServer 10.140.50.5

配置 URL 列表

要配置 URL 列表,请执行以下操作:

  • 导入自定义 URL 列表
  • 设置 IWF URL 列表支持
  • 配置 HTTP 流量的 URL 列表。
    • 添加 URL 列表操作。
    • 添加 URL 列表策略。
    • 为 HTTP 流量添加 HTTP 负载平衡虚拟服务器。
    • 将 URL 列表策略绑定到 HTTP 负载平衡虚拟服务器的 HTTP 流量。
  • 为 HTTPS 流量配置 URL 列表。
    • 添加视频优化检测策略。
    • 为 HTTPS 流量添加 SSL 桥接负载平衡虚拟服务器。
    • 将视频优化检测策略绑定到 HTTPS 流量的 SSL 桥负载平衡虚拟服务器

导入自定义 URL 列表

要导入 URL 集,请参阅网址集

设置 IWF URL 列表支持

要设置 IWF URL 列表支持,您需要访问凭据。IWF 为每个成员提供设置所需的唯一访问凭据。访问凭据包括用户名密码。

在命令提示窗口中,键入:

import urlset iwfset -url https://<\*IWFUser\*>:<\*IWFPass\*>@servicebak.iwf.org.uk/ -private Done

注意

如果 IWF 更改了用于导入列表的 URL,则可以联系 Citrix ADC 支持团队。

为 HTTP 流量配置 URL 列表

Citrix ADC 设备支持 HTTP 和 HTTPS 流量。要为 HTTP 流量配置负载平衡虚拟服务器并将 URL 列表策略绑定到服务器,请执行以下操作:

  • 添加 URL 列表操作。
  • 添加 URL 列表策略。
  • 为 HTTP 流量添加 HTTP 负载平衡虚拟服务器
  • 将 URL 列表策略绑定到 HTTP 流量的 HTTP 负载平衡虚拟服务器

添加 URL 列表操作

在命令提示窗口中,键入以下内容:

add responder action <name> <type> (<target> | <htmlpage>) [-comment <string>] [-responseStatusCode <positive_integer>] [-reasonPhrase <string>]

示例:

add responder action act_iwf_url respondwith '"HTTP/1.1 451 Unavailable For Legal ReasonsrnrnURL is IWF NOT authorizedn"'

添加 URL 列表策略

在命令提示窗口中,键入以下内容:

add responder policy <name> <rule> <action> [<undefAction>] [-comment <string>] [-logAction <string>] [-appflowAction <string>]

示例:

add responder policy pol_iwf_http 'HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY("iwfset")' act_iwf_url

为 HTTP 流量添加 HTTP 负载平衡虚拟服务器

在命令提示窗口中,键入以下内容:

add lb vserver <name> [-td <positive_integer>] <serviceType> [-cltT imeout <secs>]

示例:

add lb vserver vsrv-HTTP HTTP * 80 -persistenceType NONE -cltTimeout 120

将 URL 列表策略绑定到 HTTP 负载平衡虚拟服务器

在命令提示窗口中,键入以下内容:

bind lb vserver <vServerName> -policyName <string> [-priority <positive_integer>]

示例:

bind lb vserver vsrv-HTTP -policyName pol_iwf_http -priority 10 -type REQUEST

为 HTTPS 流量配置 URL 列表

Citrix ADC 设备支持 HTTP 和 HTTPS 流量。要为 HTTPS 流量配置 SSL 桥负载平衡虚拟服务器并将 URL 列表策略绑定到服务器,请执行以下操作:

  • 添加 URL 列表操作。
  • 添加 URL 列表策略。
  • 为 HTTP 流量添加 SSL 桥接负载平衡虚拟服务器
  • 将 URL 列表策略绑定到 HTTP 流量的 SSL 桥负载平衡虚拟服务器

添加 HTTPS 流量的 URL 列表策略

在命令提示窗口中,键入:

add videooptimization detectionpolicy <name> -rule <expression> -action <string> [-undefAction <string>] [-comment <string>] [-logAction <string>]

示例:

add videooptimization detectionpolicy pol_iwf_https -rule CLIENT.SSL.DETECTED_DOMAIN.URLSET_MATCHES_ANY("iwfset") -action RESET

添加 SSL 桥负载平衡虚拟服务器

在命令提示符处键入:

add lb vserver <name> [-td <positive_integer>] <serviceType> [-cltT imeout <secs>]

示例:

add lb vserver vsrv-HTTPS SSL_BRIDGE * 443 -persistenceType NONE -cltTimeout 180

使用 CLI 将 URL 列表策略与 SSL 桥负载均衡绑定

在命令提示符处键入:

bind lb vserver <vServerName> -policyName <string> [-priority <positive_integer>]

示例:

bind lb vserver vsrv-HTTPS -policyName pol_iwf_https -priority 20 -type REQUEST

使用 GUI 配置 URL 列表

GUI 使您能够:

  • 导入 URL 列表。
  • 添加 URL 列表。
  • 配置 URL 列表操作。
  • 配置 HTTP 流量的 URL 列表策略。
  • 为 HTTP 流量添加 HTTP 负载平衡虚拟服务器。
  • 为 HTTPS 流量添加 SSL 桥接负载平衡虚拟服务器。
  • 将 URL 列表策略绑定到 HTTP 负载平衡虚拟服务器。
  • 将 URL 列表策略绑定到 SSL 桥负载平衡虚拟服务器。

导入 URL 列表

  1. 在导航窗格中,展开 AppExpert > URL 集
  2. 在详细信息窗格中,单击 导入
  3. 在“配置 URL 集”页面上,设置以下参数。
    1. 名称。URL 集的名称。
    2. URL。访问 URL 集的位置的 Web 地址。
    3. 覆盖。覆盖之前导入的 URL 集。
    4. 分隔符。用于分隔 CSV 文件记录的字符序列。
    5. 行分隔符。CSV 文件中使用的行分隔符。允许使用单个字符 值,例如“/n”。
    6. 间隔。间隔(以秒为单位),四舍五入到更新 URL 集的最接近 15 分钟。
    7. 私人套装。防止导出 URL 集的选项
    8. 加那利网址。用于测试 URL 集的内容是否保密的内部 URL。URL 的最大长度为 2047 个字符
  4. 单击 创建,然后 关闭

添加 URL 列表

  1. 在导航窗格中,展开 AppExpert > URL 集
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建 URL 集”页面上,设置以下参数。
    1. 名称。导入时给定的 URL 集的名称。
    2. 评论。有关 URL 集的简短描述。
  4. 单击创建

配置 URL 列表操作

  1. 登录到 Citrix ADC 设备并导航到“配置”选项卡页面。
  2. 在菜单窗格中,导航到 AppExpert > 响应程序 > 操作
  3. 在详细信息窗格中,单击 Add(添加)。
  4. 在“创建响应程序操 作”页面上,设置以下参数。
    1. 名称。URL 列表策略操作的名称。
    2. 类型。选择一个操作类型。
    3. 表达式。使用表达式编辑器创建策略表达式。
    4. 评论. 有关策略操作的简短描述。
  5. 点击 创建关闭

配置 URL 列表策略

  1. 在导航窗格中,展开 AppExpert > 响应程序 > 策略
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建响应程序策略”页面上,设置以下参数。
    1. 名称。URL 列表策略操作的名称。
    2. 操作。选择您希望与策略关联的 URL 列表操作。
    3. 记录操作。选择日志操作。
    4. AppFlow。选择一个 AppFlow 操作。
    5. 表达式。使用表达式编辑器创建策略表达式。
    6. 评论. 有关策略的简短描述。
  4. 点击 创建关闭

添加 HTTP 负载平衡虚拟服务器

  1. 导航到“流量管理”>“负载平衡”>“虚拟服务器”页面。
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“负载平衡虚拟服务器”屏幕上,设置以下参数:
    1. 名称。负载平衡虚拟服务器的名称。
    2. 协议。选择协议类型作为 HTTP。
    3. IP 地址类型。IP 可寻址类型。
    4. IP 地址。分配给虚拟服务器的 IP 4 或 IP6 IP 地址。
    5. Port(端口)。虚拟服务器的端口号。
  4. 击“确定”继续配置其他可选参数。有关详细信息,请参阅创建虚拟服务器。

将 URL 列表策略绑定到 HTTP 负载平衡虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 屏幕。
  2. 在详细信息窗格中,选择负载平衡虚拟服务器,然后单击“编辑”。
  3. 在“高级设置”部分中,单击“策略”。
  4. 在“策略”部分中,单击“+”图标以访问“策略”滑块。
  5. 在“策略”部分中,设置以下参数。
    1. 选择策略。从下拉列表中选择 URL 分类策略。
    2. 选择类型。选择策略类型作为“请求”。
  6. 单击 Continue(继续)。
  7. 在“策略”页面中,从列表中选择 URL 列表策略,然后单击“选择”。
  8. 策略 滑块中,单击 绑定关闭

添加 HTTPS 流量的 URL 列表策略

  1. 登录到 Citrix ADC 设备,然后导航到“配置”>“优化”>“视频 优化”>“检测”。
  2. 在“检测”页面上,单击“视频优化检测策略”链接。
  3. 在“视频优化检测策略”页上,单击“添加”。
  4. 在“创建视频优化检测策略”页面上,设置以下参数。
    1. 名称。优化策略的名称
    2. 表达式。使用自定义表达式配置策略。
    3. 操作。与策略关联的优化操作以处理传入视频流量。
    4. 民主基金操作. 如果传入请求与优化策略不匹配,则未定义事件。
    5. 评论。策略的简短描述。
    6. 记录操作。选择一个审核日志操作,该操作指定要对日志消息执行的操作。
  5. 点击 创建关闭

为 HTTPS 流量添加 SSL 桥接负载平衡虚拟服务器

  1. 导航到“流量管理”>“负载平衡”>“虚拟服务器”页面。
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“负载平衡虚拟服务器”屏幕上,设置以下参数:
    1. 名称。负载平衡虚拟服务器的名称。
    2. 协议。选择协议类型作为 SSL 桥。
    3. IP 地址类型。IP 地址类型:IPv4 或 IPv6。
    4. IP 地址。分配给虚拟服务器的 IPv4 或 IP6VIP 地址。
    5. Port(端口)。虚拟服务器的端口号。
  4. 击“确定”继续配置其他可选参数。有关详细信息,请参阅“创建虚拟服务器”主题。

将 URL 列表策略绑定到 SSL 桥负载平衡虚拟服务器

  1. 导航到“流量管理”>“负载平衡”>“虚拟服务器”屏幕。
  2. 在详细信息窗格中,选择 SSL 桥负载平衡虚拟服务器,然后单击 编辑
  3. 在“高级设置”部分中,单击“策略”。
  4. 在“策略”部分中,单击“+”图标以访问“策略”滑块。
  5. 设置以下参数。
    1. 选择策略。从下拉列表中选择视频检测策略。
    2. 选择类型。选择策略类型作为“请求”。
  6. 单击 Continue(继续)。
  7. 从列表中选择视频检测策略,然后单击“关闭”。

配置审核日志消息

审核日志记录使您能够在 URL 列表过程的任何阶段查看条件或情况。当 Citrix ADC 设备接收到传入 URL 时,如果响应方策略具有 URL 集高级策略表达式,审核日志功能将收集 URL 中的 URL 集信息,并将详细信息存储为审核日志记录允许的任何目标的日志消息。

日志消息包含以下信息:

  1. 时间戳。
  2. 日志消息类型。
  3. 预定义的日志级别(严重、错误、通知、警告、信息、调试、警报和紧急)。
  4. 日志消息信息,例如 URL 集名称、策略操作、URL。

要配置 URL 列表功能的审核日志记录,您必须完成以下任务:

  1. 启用审核日志。
  2. 创建审核日志消息操作。
  3. 使用审核日志消息操作设置 URL 列表响应程序策略。

有关详细信息,请参阅审核日志记录

URL 列表语义

下表列出了 URL 匹配模式,并描述了 URL 列表中的 URL 如何与接收请求 URL 进行匹配。例如,www.example.com/bar 的模式只与 www.example.com/bar 的一个页面匹配。要匹配网址以 ‘www.example.com/bar’ 开头的所有页面,您需要在 URL 的末尾添加星号 (*)。

语义 URL 模式 匹配 无与伦比的
子域匹配 domain.com domain.com; [www.domain.com](http://www.domain.com/;sub.one.domain.com yourdomain.com; wwwdomain.com
URL 匹配,精确路径 domain.com/example/bar/index.html domain.com/example/bar/index.html; www.domain.com/example/bar/index.html; s.domain.com/example/bar/index.html 域名/例子/酒吧/索引 .html; 域名 .com/ 例子/酒吧/索引 .HTML/ 一个 .jpg
URL 匹配,精确路径 domain.com/example/bar/index.html domain.com/example/bar/index.html?key=value; www.domain.com/example/bar/index.html?; s.domain.com/example/bar/index.html 域名/例子/酒吧/索引 .html; 域名 .com/ 例子/酒吧/索引 .HTML/ 一个 .jpg
URL 匹配,子路径匹配 domain.com/example/bar/ domain.com/example/bar/;domain.com/example/bar/index.html; www.domain.com/example/bar/index.html; domain.com/example/bar/index.html/one.jpg wwww域名/例子/酒吧/索引.html