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 do this, 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”

Next, you would create rewrite policies using the values shown in the following tables. The first policy checks incoming requests to see if they are valid, and if they are, 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.

Policy Name Action Name Undefined Action Expression
Policy-Rewrite-Request_Server_Replace Action-Rewrite-Request_Server_Replace NOREWRITE HTTP.REQ.HOSTNAME.SERVER.EQ(“www.example.com”)
Policy-Rewrite-Response_Server_Replace Action-Rewrite-Response_Server_Replace NOREWRITE HTTP.RES.HEADER(“Server”).EQ(“web.hq.example.net”)

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

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