手动配置 Citrix ADC

从版本 10.1 版本 120.1316 开始,NetScaler 包括一个向导,用于配置存储区域 Controller 数据和连接器所需的设置。

本节中的步骤介绍了存储区域 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")
      
    6. 击“确定”,然后返回“配置 HTTP 标注”对话框。

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

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

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

    9. 单击 Create(创建)。

    有关详细信息,请参阅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)
      

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

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

要进行负载平衡

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

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

    高可用性部署中的 StorageZones Controller 需要基于令牌的负载平衡。循环负载平衡会导致间歇性下载或上载失败,因为客户端上载或下载请求可以被定向到存储区域 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 数据的存储区域指定负载平衡器虚拟服务器。

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

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

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

    尽管对 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