Citrix ADC

内容交换

在当今复杂的网站中,您可能希望向不同的用户呈现不同的内容。例如,您可能希望允许来自客户或合作伙伴 IP 范围的用户访问特殊 Web 门户。您可能希望向该区域的用户展示与特定地理区域相关的内容。您可能希望以不同语言向这些语言的使用者展示内容。您可能希望向使用这些设备的用户展示针对特定设备(如智能手机)的内容。Citrix ADC 内容交换功能使设备能够根据您希望向这些用户呈现的特定内容在多台服务器上分发客户端请求。

要配置内容交换,首先创建一个基本的内容交换设置,然后对其进行自定义以满足您的需求。这需要启用内容交换功能、为托管正在交换的每个版本内容的服务器设置负载平衡、创建内容交换虚拟服务器、创建策略以选择将哪些请求定向到哪个负载平衡虚拟服务器,以及将策略绑定到内容交换虚拟服务器。然后,您可以通过设置策略的优先级、通过配置备份虚拟服务器保护您的设置以及通过将请求重定向到缓存来提高设置性能来自定义设置以满足您的需求。

内容切换的工作原理

内容交换使 Citrix ADC 设备能够将发送到同一 Web 主机的请求定向到具有不同内容的不同服务器。例如,您可以将设备配置为将动态内容(例如后缀为 .asp、.dll 或 .exe 的 URL)的请求定向到一台服务器,将静态内容的请求定向到另一台服务器。您可以将设备配置为基于 TCP/IP 标头和负载执行内容切换。

您还可以使用内容切换来配置设备,以便根据各种客户端属性将请求重定向到具有不同内容的不同服务器。其中一些客户端属性是:

  • 设备类型。设备检查客户端请求中的用户代理或自定义 HTTP 标头,以了解请求源自的设备类型。根据设备类型,它将请求定向到特定的 Web 服务器。例如,如果请求来自移动电话,则请求将被定向到能够提供用户可以在其手机上查看的内容的服务器。来自计算机的请求被定向到能够提供为计算机屏幕设计的内容的其他服务器。
  • 语言。设备检查客户端请求中的接受语言 HTTP 标头,并确定客户端浏览器使用的语言。然后,设备将请求发送到提供该语言内容的服务器。例如,使用基于语言的内容切换,设备可以将其浏览器配置为请求法文内容的用户发送到具有法文版报纸的服务器。它可以将其浏览器配置为请求英文内容的其他人发送到具有英文版本的服务器。
  • cookie。设备检查服务器之前设置的 cookie 的 HTTP 请求标头。如果找到 cookie,它会将请求引导到相应的服务器,该服务器承载自定义内容。例如,如果发现一个 cookie 表明客户端是客户忠诚度计划的成员,则请求会被定向到更快的服务器或具有特殊内容的服务器。如果它没有找到 cookie,或者如果 cookie 表示用户不是会员,请求将被定向到一个服务器供公众使用。
  • HTTP 方法。设备检查 HTTP 标头是否有所使用的方法,并将客户端请求发送到正确的服务器。例如,可以将图像的 GET 请求定向到图像服务器,而 POST 请求可以定向到处理动态内容的速度更快的服务器。
  • 3/4 层数据。设备检查源或目标 IP、源端口或目标端口或 TCP 或 UDP 标头中存在的任何其他信息的请求,并将客户端请求定向到正确的服务器。例如,来自客户的源 IP 的请求可以定向到速度更快的服务器上的自定义门户或具有特殊内容的门户。

典型的内容交换部署由下图中描述的实体组成。

图 1. 内容交换架构

图片

内容交换配置包括内容交换虚拟服务器、负载平衡设置(包括负载平衡服务器和服务)以及内容交换策略。要配置内容交换,必须配置内容交换虚拟服务器,并将其与策略和负载平衡虚拟服务器关联。此过程将创建一个 *内容组 — 一个包含特定内容交换配置中涉及的所有虚拟服务器和策略的组。

内容交换可与 HTTP、HTTPS、TCP 和 UDP 连接一起使用。对于 HTTPS,您必须启用 SSL 卸载。

请求到达内容交换虚拟服务器时,该虚拟服务器将关联的内容交换策略应用于该请求。策略的优先级定义绑定到内容交换虚拟服务器的策略的评估顺序。如果使用默认语法策略,则在将策略绑定到内容交换虚拟服务器时,必须为该策略分配优先级。如果您使用的是 Citrix ADC 经典策略,则可以为策略分配优先级,但不需要这样做。如果您分配优先级,则将按照您设置的顺序对策略进行评估。否则,Citrix ADC 设备将按策略创建时的顺序对策略进行评估。

除了配置策略优先级之外,您还可以使用 Gto 表达式和策略库调用来操纵策略评估的顺序。有关默认语法策略配置的更多详细信息,请参阅配置默认语法策略

评估策略后,内容交换虚拟服务器会将请求路由到适当的负载平衡虚拟服务器,然后将其发送到相应的服务。

内容交换虚拟服务器只能向其他虚拟服务器发送请求。如果您使用的是外部负载平衡器,则必须为其创建负载平衡虚拟服务器,并将其虚拟服务器作为服务绑定到内容交换虚拟服务器。

内容交换