手动配置 Citrix ADC

从版本 10.1 版本 120.1316 开始,Citrix ADC 包含一个向导,用于配置 StorageZones Controller 数据和连接器所需的设置。

本节中的步骤介绍 StorageZones Controller 所需的 Citrix ADC 设置。所有链接均适用于 NetScaler 10.1 文档。类似的主题可用于更高版本的 Citrix ADC。

检查所有传入邮件的有效 URI 签名

  1. 创建一个名为 sf_out 的 HTTP 标注:
    1. 在“配置 HTTP 标注”对话框中,单击“虚拟服务器”或“IP 地址”,然后指定地址。

    2. 在请求发送到服务器下,单击 基于属性 ,然后单击 配置请求属性

    3. 选择 获取方法

    4. 在“主机表达式”中,输入任何 StorageZones Controller 的虚拟服务器 IP 地址或主机 IP 地址。

    5. 在 URL 干表达式中,输入:

      "/validate.ashx?RequestURI=" + HTTP.REQ.URL.BEFORE_STR("&h").HTTP_URL_SAFE.B64ENCODE + "&h="+ HTTP.REQ.URL.QUERY.VALUE("h")
      <!--NeedCopy-->
      
    6. 击“确定”,然后返回“配置 HTTP 标注”对话框。

    7. 在“服务器响应”下,选择返回布尔类型

    8. 在表达式中,要从响应中提取数据,请输入:

      HTTP.RES.STATUS.EQ(200).NOT

    9. 单击创建。 有关更多信息,请参阅 HTTP 标注

  2. 按照上述步骤配置名为 sf_callout_y 的 HTTP 标注。除了表达式之外,使用相同的设置:
    • 在 URL 干表达式中,输入:

      "/validate.ashx?RequestURI=" + HTTP.REQ.URL.HTTP\_URL\_SAFE.B64ENCODE + "\&h="

  3. 配置响应程序策略:
    1. 在“配置响应程序策略”对话框中:对于“操作”,选择“删除”。

    2. 在表达式中,输入:

      http.REQ.URL.CONTAINS("&h=") && http.req.url.contains("/crossdomain.xml").not && http.req.url.contains("/validate.ashx?requri").not && SYS.HTTP_CALLOUT(sf_callout) || http.REQ.URL.CONTAINS("&h=").NOT && http.req.url.contains("/crossdomain.xml").not && http.req.url.contains("/validate.ashx?requri").not && SYS.HTTP_CALLOUT(sf_callout_y)
      <!--NeedCopy-->
      

      有关详细信息,请参阅响应方

  4. 将响应程序策略绑定到负载平衡器虚拟服务器 并配置 基于 SSL 会话的持久性

要进行负载平衡

  1. 配置基于令牌的负载平衡

    使用规则表达式: “http.REQ.URL.QUERY.VALUE("uploadid")”

    高可用性部署中的 StorageZones Controller 需要基于令牌的负载平衡。循环负载平衡将导致间歇性下载或上载失败,因为客户端上载或下载请求可能会被定向到 StorageZones Controller,而不是从 ShareFile.com 接收授权请求的控制器。

  2. 将 Citrix ADC 配置为终止 SSL 连接。

    有关信息,请参阅 配置 SSL 卸载 及其子主题。

配置连接器的内容交换和身份验证

  1. 启用内容切换,如 启用内容切换 中所述。

  2. 为来自本地存储区域的用户请求 ShareFile 数据创建内容切换策略:

    1. 在“配置内容交换策略”对话框中:输入内容交换策略的名称。这些步骤使用名称“数据请求”。

    2. 输入表达式:

      HTTP.REQ.HOSTNAME.CONTAINS("StorageZonesControllerHostName") && HTTP.REQ.URL.CONTAINS("/cifs/").NOT && HTTP.REQ.URL.CONTAINS("/sp/").NOT

    3. 单击确定

      有关详细信息,请参阅内容交换

  3. 为用户请求从存储区域连接器访问的数据创建内容交换策略。

    1. 在“配置内容交换策略”对话框中:指定内容交换策略的名称。这些步骤使用名称“连接器请求”。

    2. 输入表达式:

      HTTP.REQ.HOSTNAME.CONTAINS("StorageZonesControllerFQDN") && (HTTP.REQ.URL.CONTAINS("/cifs/") || HTTP.REQ.URL.CONTAINS("/sp/"))

      请务必将“存储区域 Controller FQDN”替换为控制器的 FQDN。

    3. 单击确定

  4. 创建内容交换虚拟服务器

  5. 设置内容交换策略目标:

    • 在配置虚拟服务器(内容切换)对话框中:对于 Data_Reques 策略,为 ShareFile 数据的存储区域指定负载平衡器虚拟服务器。

      此负载平衡器虚拟服务器是您在检查所有传入邮件的有效 URI 签名并进行负载平衡的步骤 4 中将响应程序策略绑定到的服务器。

    • 对于 Connector_Requests 策略,为存储区域连接器指定负载平衡器虚拟服务器。

  6. 为存储区域连接器配置身份验证虚拟服务器:

    尽管对 Citrix ADC 的身份验证是可选的,但这是推荐的最佳做法。

    1. 在导航窗格中,展开负载平衡,为存储区域连接器选择负载平衡器虚拟服务器的名称,然后单击打开。

    2. 在配置虚拟服务器(负载平衡)对话框中,单击 高级 选项卡,然后展开 身份验证设置

    3. 选中“基于 401 的身份验证”复选框,然后选择“身份验证”虚拟服务器。

    4. 单击方法和持久性选项卡。

    5. 对于持久性,请选择 COOKIEINSERT

    6. 对于超时(分钟),请输入 240

      建议使用 240 分钟的超时值。最小值应大于 10 分钟。

      有关详细信息,请参阅配置身份验证虚拟服务器

  7. 使用“配置身份验证服务器”对话框可以创建和配置身份验证服务器。

    在 SSO 名称属性中,输入 userPrincipalName

    有关其他设置的更多信息,请参阅 身份验证策略

  8. 为刚刚创建的身份验证服务器配置身份验证策略:

    1. 在“配置身份验证策略”对话框中:输入策略的名称,然后选择在上一步中配置的身份验证服务器。

    2. 输入表达式:

      ns_true

    有关详细信息,请参阅配置身份验证策略

  9. 为单点登录配置会话配置文件:

    1. 在“配置会话配置文件”对话框中,输入配置文件的名称。
    2. 选中 Web 应用程序的单点登录复选框。
    3. 对于凭据索引,请选择 主要
    4. 在单点登录域中,输入 StorageZones Controller 的域名。
    5. 为前面三个项目中的每个项目选中“覆盖全局”复选框。

    有关详细信息,请参阅会话配置文件

  10. 为单点登录配置会话策略:

    1. 在“配置会话策略”对话框中,输入策略的名称。

    2. 对于 请求配置文件,选择在上一步中配置的会话配置文件的名称。

    3. 输入表达式:

      ns_true

    有关详细信息,请参阅会话策略

  11. 创建身份验证虚拟服务器:

    1. 在配置虚拟服务器(身份验证)对话框中,输入服务器的名称和 IP 地址。
    2. 单击 身份验证 选项卡,对于 协议,选择 SSL
    3. 选中对用户进行身份验证的复选框。
    4. 在“身份验证策略”下,单击“”,然后选择您在步骤 7 中配置的身份验证策略。
    5. 单击策略选项卡,单击会话,然后选择您在步骤 9 中配置的会话策略。

    有关详细信息,请参阅配置身份验证虚拟服务器

手动配置 Citrix ADC