自定义 URL 在 L7 访问配置文件中用作 URL 筛选和上下文配置文件的属性类型。

NSX 允许用户配置包含特殊字符的完整域或部分域或 URL。下图描述了 URL(统一资源定位器)的不同元素。

""
NSX 支持以下自定义 URL 模式:
  • 仅支持 IANA 注册的顶级域 (TLD) 以及通配符 * 和 ^。
  • 输入的 URL 应为有效的 URL。例如,www...google+com 将被拒绝。
  • 请勿包含 http://、https://、ftp:// 等。
  • 用户必须输入域名,但也可以选择包含 URI。例如,google.com 和 google.com/news 有效,但 /news 是无效输入。
  • URI 不得包含查询参数。例如,www./google.com/query?keyboard=news 将被拒绝。
  • 特殊字符 * 和 ^ 可在域名和 URI 路径中用于通配符匹配。* 将匹配一个或多个单词,而 ^ 将与一个单词完全匹配。例如,*.google.com 将匹配 news.google.com,还会匹配 local.news.google.com。不过,^ 仅匹配 news.google.com,但与 local.news.google.com 不匹配。同样,google.com/* 将匹配 google.com/news 以及 google.com/news/sanjose。但是,google.com/^ 仅匹配 google.com/news,但不匹配 google.com/news/sanjose。
  • * 和 ^ 仅匹配完整单词,不能用于匹配部分单词。例如,不能使用 *google.com 来匹配 mygoogle.com。但是,可以使用 *.google.com 来匹配 my.google.com。同样,google.com/*news 和 google.com/n* 无效,将被拒绝。
  • * 和 ^ 可以在 URL 中出现多次。例如,*.google.* 和 *.google.com/^/news/* 有效。
  • 由于 ^ 只匹配一个单词,因此允许连着出现两个 ^。例如,^.^.google.com 有效,与 local.news.google.com 匹配,但与 my.local.news.google.com 或 news.google.com 不匹配。同样,google.com/^/^ 有效,与 google.com/news/sanjose 匹配,但与 google.com/news 或 google.com/news/sanjose/today 不匹配。
  • 仅输入域名(不使用 URI)时,用户可以输入末尾带或不带 / 的域名,它们的行为不同。如果用户输入的域名末尾没有 /,则会将其视为部分匹配。例如,*.google.com 将匹配 news.google.com、news.google.com.us、news.google.com.us/、news.google.com.us/local 等。如果用户输入的域名末尾带 /,则会将其视为完全匹配。例如,*.google.com/ 将匹配 news.google.com 和 news.google.com/,但与 news.google.com.us 或 news.google.com/local 不匹配。
  • 如果输入的 URL 包含路径,则不会对末尾出现的 / 进行任何特殊对待,而将此 URL 视为完全匹配。例如,google.com/news/ 将仅匹配 google.com/news/,但与 google.com/news、google.com/newslatest 或 google.com/news/latest 不匹配。
  • URL 匹配可用于匹配 HTTP URL(主机标头 + URI)或 TLS SNI。如果用户指定的 URL 具有路径,则该路径将与 TLS SNI 不匹配。但是,如果启用了 TLS 检查并解密了流量,则可以使用内部 HTTP URL 将 URL 与路径相匹配。例如,*.google.com 和 *.google.com/ 可以匹配 HTTP URL 或 TLS SNI(不使用 TLS 检查),但 *.google.com/news 将不匹配 TLS SNI(不使用 TLS 检查)。

示例

用户输入 示例
espn.com 匹配:espn.com、espn.com/、espn.com.us、espn.com.us/、espn.com/sports 和 espn.com.us/sports/p

不匹配:premium.espn.com

espn.com/ 匹配:espn.com、espn.com/

不匹配:premium.espn.com、espn.com.us、espn.com.us/、espn.com/sports、espn.com.us/sports/

espn.com/sports 匹配:espn.com/sports

不匹配:espn.com/sportsnba、esp.com/sports/、espn.com/sports/nba

espn.com/sports/ 匹配:espn.com/sports

不匹配:esp.com/sports、espn.com/sports/nba

*espn.com 匹配:premium.espn.com、replay.preimum.espn.com、instant.replay.premium.espn.com、premium.espn.com/、premium.espn.com.us、premium.espn.com.us/、premium.espn.com/sports、premium.espn.com.us/sports

不匹配:espn.com.espn.com

*.espn.* 匹配:www.espn.com、premium.espn.com、www.espn.us、premium.espn.com.us/、latest.espn.com/sports、www.espn.com.us/sports/、replay.premium.espn.com、instant.replay.premium.espn.com、instant.replay.premium.espn.com.us/

不匹配:espn.com、www.espn.com

espn.*.us/ 匹配:espn.news.us、espn.news.us/、espn.local.news.us

不匹配:espn.us、www.espn.us、espn.news.us/sports

*.espn.*/* 匹配:www.espn.com/sports、replay.premium.espn.com.us/sports/nba/

不匹配:www.espn.com、www.espn.com/

^.espn.com 匹配:www.espn.com、www.espn.com/、www.espn.com/sports、www.espn.com.us/

不匹配:espn.com、news.local.espn.com

^.espn.^ 匹配:www.espn.com、www.espn.com/、www.espn.com.us、www.espn.com.us/sports

不匹配:news.local.espn.com、www.espn.com.us

espn.^/ 匹配:espn.com、espn.com/

不匹配:espn.com.us、espn.com/sports

www.^.^.com/^/^ 匹配 www.local.espn.com/sports/nba

与 www.personal.local.espn.com/sports/nba 和 www.local.espn.com/sports/nba/ 不匹配