手动配置 Citrix ADC

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

本节中的步骤描述了存储区域控制器所需的 Citrix ADC 设置。所有链接均适用于 NetScaler 10.1 文档。类似的主题也适用于更高版本的 Citrix ADC。

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

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

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

    3. 选择 获取方法

    4. 在主机表达式中,输入任何存储区域控制器的虚拟服务器 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. 单击创建

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

       "/validate.ashx?RequestURI=" + HTTP.REQ.URL.HTTP_URL_SAFE.B64ENCODE + "&h="
       <!--NeedCopy-->
      
  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")”

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

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

    有关信息,请参阅 配置 SSL 卸载

为连接器配置内容切换和身份验证

  1. 要启用内容切换,请参阅 启用内容切换

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

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

    2. 输入表达式:

      HTTP.REQ.HOSTNAME.CONTAINS("StorageZonesControllerHostName") && HTTP.REQ.URL.CONTAINS("/cifs/").NOT && HTTP.REQ.URL.CONTAINS("/sp/").NOT
      <!--NeedCopy-->
      
    3. 单击确定

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

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

    1. 在“配置内容交换策略”对话框中,指定内容交换策略的名称。这些步骤使用 Connector_Requests 的名称。

    2. 输入表达式:

      HTTP.REQ.HOSTNAME.CONTAINS("StorageZonesControllerFQDN") && (HTTP.REQ.URL.CONTAINS("/cifs/") || HTTP.REQ.URL.CONTAINS("/sp/"))
      <!--NeedCopy-->
      

      一定要将“StorageZonesControllerFQDN”替换为控制器的 FQDN。

    3. 单击确定

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

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

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

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

    • 对于 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. 在单点登录域中,输入存储区域控制器的域名。
    5. 为前三个项目分别选中“覆盖全局”复选框。

    有关更多信息,请参阅 会话配置文件

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

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

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

    3. 输入表达式:

      ns_true

    有关更多信息,请参阅 会话策略

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

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

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

手动配置 Citrix ADC