Citrix ADC

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

本文介绍如何使用负载平衡虚拟服务器IP地址配置响应程序功能,并将客户端请求从HTTP重定向到HTTPS。

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

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

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

响应器重定向请求

请注意:导航路径和截图来源于NetScaler 11.0。

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

  1. 在设备上启用响应程序功能。引导到系统>设置>配置高级功能>应答器

    使回答者

  2. 创建响应程序操作并在名称字段中指定适当的名称,例如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. 从“操作”列表中,选择已创建的操作名称。
  10. 从未定义的动作列表中,选择RESET。
  11. 键入HTTP.REQ.u是否有效表达的表达式字段,如下图所示。

创建应答策略

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

    配置监视器

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

    配置监视器

  7. 在列表中指定80港口字段。
  8. 控件中添加创建的监视器可用的监控列表。
  9. 创建一个负载均衡虚拟服务器并在的名字字段。
  10. 要创建负载均衡虚拟服务器,请在导航窗格中展开负载平衡点击服务然后单击添加
  11. 在“IP地址”字段中输入网站的IP地址。
  12. 从协议列表中选择HTTP。
  13. 在端口字段中键入80。
  14. 在NetScaler 9.0和10.0版上,在“服务”选项卡中为已创建的服务选择“活动”选项,如下面的屏幕截图所示。NetScaler 11.0版不推荐使用此选项。

    选择操作选项

  15. 单击政策标签。
  16. 将您创建的响应程序策略绑定到网站的HTTP负载平衡VIP地址。
  17. 创建一个安全的负载均衡虚拟服务器,web站点的IP地址为443,端口为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.REQIS_VALID http_to_https_actn复位加磅监控localhost_ping萍-LRTM启用-destIP 127.0.0.1添加服务Always_UP_service为1.2.3.4 HTTP 80 -gslb没有maxclient -maxReq 0 cip启用虚拟切实不- sp 180 -svrTimeout -cltTimeout 360 -CKA没有-TCPB cmp是的绑定磅监控localhost_ping Always_UP_service加磅vserverhttp_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 vserver http_site.com -policyName http_to_https_pol -priority 1 -gotoPriorityExpression END 

笔记

  • 端口80负载平衡重定向虚拟服务器的状态必须为“启动”,重定向才能工作。
  • 如果HTTPS虚拟服务器不活动,Web浏览器可能无法正确地重定向。
  • 这个重定向设置允许多个域绑定到同一个IP地址的情况。
  • 如果客户机向重定向虚拟服务器发送无效的HTTP请求,那么设备将发送一个RESET消息代码。
如何使用响应器将HTTP请求重定向到HTTPS