重写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重定向
- 导航到“流量管理>负载均衡>虚拟服务器”.
- 打开虚拟服务器,在“高级设置”窗格中单击“流量设置”,然后选择“重写”。
使用命令行方式在SSL虚拟服务器或服务上配置SSL重定向
在命令提示符下,输入:
设置ssl服务 - sslRedirect (ENABLED | DISABLED)
例子:
set ssl vserver vserver -ssl -1 -sslRedirect enabled
使用GUI在SSL虚拟服务器或服务上配置SSL重定向和SSL端口重写
- 导航到“流量管理>负载均衡>虚拟服务器”,打开虚拟服务器。
- 2 .在“高级设置”中,单击“SSL参数”,选择“SSL重定向”。