ADC

Example 5: Redirect an external URL to an internal URL

Example Inc. wants to hide its actual server room configuration from users to improve security on its Web servers.

To improve security, you would create a rewrite action with the values as shown in the following tables. For request headers, the action in the table modifies www.example.com to web.hq.example.net. For response headers, the action does the opposite, translating web.hq.example.net to www.example.com.

Action Name Type of Rewrite Action Expression to choose target reference String expression for replacement text
Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER “Web.hq.example.net”
Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER(“Server”) “www.example.com”

The first policy checks incoming requests to see if they are valid. If they are valid, it performs the Action-Rewrite-Request_Server_Replace action. The second policy checks responses to see if they originate at the server web.hq.example.net. If they do, it performs the Action-Rewrite-Response_Server_Replace action.

Examples of rewrite action and policy for redirecting an external 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

Finally, you would bind the rewrite policies, assigning each a priority of 500 because they are in different policy banks and does not conflict. Set the goto expression to NEXT for both bindings.

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

All instances of www.example.com in the request headers are now changed to web.hq.example.net, and all instances of web.hq.example.net in response headers are now changed to www.example.com.

Example 5: Redirect an external URL to an internal URL

In this article