ADC

示例 5:将外部 URL 重定向到内部 URL

Example Inc. 希望对用户隐藏其实际的服务器机房配置,以提高其 Web 服务器的安全性。

为了提高安全性,您可以使用下表所示的值创建重写操作。对于请求标头,表中的操作 www.example.com 将修改为 web.hq.example.net。对于响应标头,操作的作用相反,转换 web.hq.example.netwww.example.com

操作名称 重写操作的类型 选择目标引用的表达式 替换文本的字符串表达式
Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER “Web.hq.example.net”
Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER(“服务器”) “www.example.com”

第一个策略检查传入的请求以查看它们是否有效。如果它们有效,它将执行操作重写 Request_Server_Request_Replace 操作。第二个策略检查响应以查看它们是否来自服务器 web.hq.example.net。如果他们这样做,它将执行操作重写-响应_Server_Replace 操作。

重定向外部 URL 的重写操作和策略示例。

add rewrite action Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER '"Web.hq.example.net"'

add rewrite action Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER("Server") '"www.example.com"'

add rewrite policy Rewrite-Request_Server_Replace HTTP.REQ.HOSTNAME.SERVER.EQ("www.example.com") Action-Rewrite-Request_Server_Replace NOREWRITE

add rewrite policy Rewrite-Response_Server_Replace HTTP.REQ.HEADER("Server").EQ("Web.hq.example.net") Action-Rewrite-Response_Server_Replace

最后,您需要绑定重写策略,为每个策略分配优先级 500,因为它们位于不同的策略库中,并且不会发生冲突。将两个绑定的 goto 表达式都设置为 NEXT。

bind rewrite global Policy-Rewrite-Request_Server_Replace 500 END -type REQ_DEFAULT

bind rewrite global Policy-Rewrite-Response_Server_Replace 500 END -type RES_DEFAULT

请求标头 www.example.com 中的所有实例现在都更改为 web.hq.example.net,响应标头 web.hq.example.net 中的所有实例现在都更改为 www.example.com

示例 5:将外部 URL 重定向到内部 URL