Citrix ADC

重写HTTP重定向的端口和协议

虚拟服务器和绑定到它们的服务可能使用不同的端口。当服务用重定向响应HTTP连接时,您可能需要配置Citrix ADC设备来修改端口和协议,以确保重定向成功通过。您可以通过启用和配置redirectPortRewrite设置来实现这一点。

此设置仅影响HTTP和HTTPS流量。如果在虚拟服务器上启用此功能,则重定向时,虚拟服务器会重写端口,将服务使用的端口替换为虚拟服务器使用的端口。

如果虚拟服务器或服务为SSL类型,则必须在虚拟服务器或服务上启用SSL重定向。如果虚拟服务器和服务都是SSL类型,则在虚拟服务器上启用SSL重定向。

redirectPortRewrite设置可用于以下场景:

  • 虚拟服务器类型为HTTP,服务类型为SSL。
  • 虚拟服务器类型为SSL,服务类型为HTTP。
  • 虚拟服务器类型为HTTP,服务类型为HTTP。
  • 虚拟服务器类型为SSL,服务类型为SSL。

场景一:虚拟服务器类型为HTTP,服务类型为SSL。服务上启用了SSL重定向和可选的端口重写。启用端口重写功能后,HTTPS url的端口将被重写。来自服务器的HTTP url按原样发送到客户机。

只启用SSL重定向。虚拟服务器可以配置在任意端口上。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com:444/

启用SSL重定向和端口重写。虚拟服务器配置在80端口。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com/

启用SSL重定向和端口重写。虚拟服务器配置在8080端口上。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ http://domain.com:8080/
https://domain.com:444/ http://domain.com:8080/

场景二:虚拟服务器类型为SSL,服务类型为HTTP。如果启用端口重写功能,则只重写HTTP url的端口。来自服务器的HTTPS url按原样发送到客户机。

在虚拟服务器上启用SSL重定向。虚拟服务器可以配置在任意端口上。见下表。

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ https://domain.com/
http://domain.com:8080/ https://domain.com:8080/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com:444/

在虚拟服务器上启用SSL重定向和端口重写。虚拟服务器配置的端口为443。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ https://domain.com/
http://domain.com:8080/ https://domain.com/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com:444/

启用SSL重定向和端口重写。虚拟服务器配置在端口444上。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ https://domain.com:444/
http://domain.com:8080/ https://domain.com:444/
https://domain.com/ https://domain.com/
https://domain.com:445/ https://domain.com:445/

场景三:虚拟服务器和服务的类型为HTTP。端口重写必须在虚拟服务器上启用。只重写HTTP url的端口。来自服务器的HTTPS url按原样发送到客户机。

虚拟服务器配置在80端口。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com:444/

虚拟服务器配置在8080端口上。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com:8080/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ https://domain.com/
https://domain.com:445/ https://domain.com:445/

场景四:虚拟服务器和服务的类型为SSL。启用端口重写功能后,只重写HTTPS url的端口。来自服务器的HTTP url按原样发送到客户机。

在虚拟服务器上启用SSL重定向。虚拟服务器可以配置在任意端口上。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com:444/

在虚拟服务器上启用SSL重定向和端口重写。虚拟服务器配置的端口为443。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ https://domain.com/
https://domain.com:444/ https://domain.com/

在虚拟服务器上启用SSL重定向和端口重写。虚拟服务器配置在端口444上。见下表:

从服务器重定向URL 重定向发送到客户端的URL
http://domain.com/ http://domain.com/
http://domain.com:8080/ http://domain.com:8080/
https://domain.com/ https://domain.com:444/
https://domain.com:445/ https://domain.com:444/

使用命令行方式在虚拟服务器上配置HTTP重定向

在命令提示符下,输入:

set lb vserver  -redirectPortRewrite (ENABLED | DISABLED) 

例子:

set lb vserver vserver - lb -1 -redirectPortRewrite enabled 

使用GUI在虚拟服务器上配置HTTP重定向

  1. 导航到“流量管理>负载均衡>虚拟服务器”
  2. 打开虚拟服务器,在“高级设置”窗格中单击“流量设置”,然后选择“重写”。

使用命令行方式在SSL虚拟服务器或服务上配置SSL重定向

在命令提示符下,输入:

设置ssl服务 - sslRedirect (ENABLED | DISABLED) 

例子:

set ssl vserver vserver -ssl -1 -sslRedirect enabled 

使用GUI在SSL虚拟服务器或服务上配置SSL重定向和SSL端口重写

  1. 导航到“流量管理>负载均衡>虚拟服务器”,打开虚拟服务器。
  2. 2 .在“高级设置”中,单击“SSL参数”,选择“SSL重定向”。