Citrix ADC

如何使用响应器重定向HTTP请求到HTTPS

本文解释了如何使用负载平衡虚拟服务器IP地址配置响应器特性,并将客户机请求从HTTP重定向到HTTPS。

考虑这样一个场景,用户可能试图通过发送HTTP请求来访问一个安全的网站。您可能希望将请求重定向到安全的网站,而不是丢弃请求。您可以使用响应器特性将请求重定向到安全网站,而无需更改用户尝试访问的路径和URL查询。

Citrix ADC响应器如何将请求从HTTP重定向到HTTPS

下图显示了设备如何重定向请求的一步一步流程。

响应器重定向请求

请注意:导航路径和界面截图均为NetScaler 11.0版本。

要配置Responder特性以及NetScaler设备的负载平衡VIP地址,以将客户端请求从HTTP重定向到HTTPS,请完成以下过程。

  1. 在设备上启用响应器特性。导航到系统>设置>配置高级特性>应答器

    使回答者

  2. 创建一个响应器操作,并在name字段中指定一个适当的名称,例如http_to_https_actn。
  3. 要创建响应器操作,请在导航窗格中展开AppExpert>应答器,点击行动然后点击添加
  4. 选择重定向作为类型。
  5. 表达式字段,输入以下表达式:

    “https://”+ HTTP.REQ.HOSTNAME。Http_url_safe + http.req.url.path_and_query.http_url_safe

  6. 在NetScaler 9.0和10.0版本中,请确保旁路安全检查清除选项。

    请注意:此选项从NetScaler 11.0起不再提供。

  7. 创建回答者的政策并在name字段中指定适当的名称,例如http_to_https_pol。
  8. 若要创建响应者策略,请在导航窗格中展开AppExpert>应答器,点击政策然后点击添加
  9. 从Action列表中选择已创建的操作名称。
  10. 从“未定义操作”列表中选择RESET。
  11. 输入HTTP.REQ.IS_VALID中的表达表达式字段,如下面的屏幕截图所示。

创建响应器策略

  1. 创建一个状态始终标记为UP的监视器,并在name字段中指定适当的名称,例如localhost_ping。
  2. 要创建监视器,请在导航窗格中展开负载平衡,点击监控然后点击添加
  3. 目的地IP字段,指定127.0.0.1的IP地址,如下面的屏幕截图所示。

    配置监视器

  4. 属性中创建服务并指定适当的名称,例如Always_UP_service名字字段。
  5. 要创建服务,请在导航窗格中展开负载平衡,点击服务然后点击添加
  6. 指定一个不存在的IP地址服务器字段。

    配置监视器

  7. 指定80港口字段。
  8. 添加已创建的监视器可用的监控列表。
  9. 创建负载平衡虚拟服务器,并在属性中指定适当的名称名字字段。
  10. 若要创建负载均衡虚拟服务器,请在导航窗格中展开负载平衡,点击服务然后点击添加
  11. 在“IP地址”中输入网站的IP地址。
  12. 在“协议”列表中选择“HTTP”。
  13. 在Port字段中输入80。
  14. 在NetScaler 9.0和10.0版本上,为您在Services选项卡中创建的服务选择Active选项,如下面的屏幕截图所示。此选项在NetScaler 11.0版本中已弃用。

    选择动作选项

  15. 单击政策选项卡。
  16. 将创建的Responder策略与网站的HTTP Load Balancing VIP地址绑定。
  17. 创建一个安全的负载均衡虚拟服务器,IP地址为web站点,端口为443。

要从设备的命令行界面创建与上述过程类似的配置,请运行以下命令:

启用ns feature responder add responder action http_to_https_actn redirect "\"https://\" + http.req.hostname。HTTP_URL_SAFE + http.REQ.URL.PATH_AND_QUERY。添加响应器策略http_to_https_pol HTTP.REQ。IS_VALID http_to_https_actn RESET add lb monitor localhost_ping PING -LRTM ENABLED -destIP 127.0.0.1 add service Always_UP_service 1.2.3.4 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip ENABLED dummy -usip NO -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP YES bind lb monitor localhost_ping Always_UP_service add lb vserver http_site.com HTTP 10.217.96.238 80 -persistenceType COOKIEINSERT -timeout 0 -cltTimeout 180 bind lb vserver http_site.com Always_UP_service bind lb vserverhttp_to_https_pol -priority 1 -gotoPriorityExpression END 

笔记

  • 80端口负载均衡重定向虚拟服务器的状态必须为UP,重定向才能生效。
  • 如果HTTPS虚拟服务器不活跃,Web浏览器可能无法正确重定向。
  • 此重定向设置允许多个域绑定到相同IP地址的情况。
  • 如果客户端向重定向虚拟服务器发送无效的HTTP请求,则设备将发送RESET消息代码。
如何使用响应器重定向HTTP请求到HTTPS