ACE URL-rewrite

Unanswered Question
Jul 18th, 2007

Is there a url rewrite feature or something similar on the ace module? is there a anticipated release date for this feature?

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
cstockwe Thu, 08/07/2008 - 22:09


I would like to have a client request to hit the ACE and then the request be rewritten to that the rservers get a request instead of

Note that the client should not see any change in their browser (transparent to the user).

Just to clarify, such a scenario is only possible using the A2 version of the ACE software?

Thanks guys

Syed Iftekhar Ahmed Thu, 08/07/2008 - 23:39

URL rewrite is not available on ACE module yet. Its not possible to rewrite the URLs.

Only Header rewrite is available where you can manipulate header values.

So its possible rewrite the "HOST" value in http request from "" to "", but you cannot rewrite the uri.

Only available option is to send HTTP Redirect

302 to client. Which will not be transparent to the client.

Syed Iftekhar Ahmed

parvees123 Tue, 08/19/2008 - 03:45

could you please tell me how to redirect the URL?

is it through redirect real servers and webhost command?

ok is there any wayt to change the url from http tp https ?

Syed Iftekhar Ahmed Tue, 08/19/2008 - 09:08

If you want to retain the hostname & Path in user's Http request then %h (for host) & (%p for path) can be used. Following is a simple example to achieve that

rserver redirect HTTP-TO-HTTPS

webhost-redirection https://%h%p 301


serverfarm redirect HTTP-To-HTTPS-SF



class-map match-all REDIRECT

2 match virtual-address tcp eq http

policy-map type loadbalance first-match REDIRECT-POLICY

class class-default

serverfarm HTTP-To-HTTPS-SF

policy-map multi-match WEB-TRAFFIC


loadbalance vip inservice

loadbalance policy REDIRECT-POLICY

loadbalance vip icmp-reply

Gilles Dufour Tue, 08/19/2008 - 09:57

url rewrite is available on the module in version 2.1.1


action-list type modify http SSL-Rewrite

ssl url rewrite location ".*"


Do you have any tips on getting this working? The config and example on support seems easy enough but I don't get any hits on the stats http for rewrite. I am using SSL termination on the ACE module which is working fine, clear text at the back end. When the back end server sends a redirect as HTTP I need the module to change it to HTTPS but I just cant get it working. I am using non-standard ports (but the same port on each side), so my command is ssl url rewrite location ".*" ssl-port yyyy clearport yyyy.

Does the layer 7 policy need to be type loadbalance http? Again, I've tried both loadbalance generic and http.

Thanks for your help.

Gilles Dufour Mon, 10/06/2008 - 04:43

There is a known defect related to the Location filed. If this is not spelled exactly like above, we don't catch it.

It might then be necessary to do your own rule to catch the exact field header sent by your server and do your own rewrite.


ACE: Regex: HTTP header field name should be case insensitive


Configure a header replace function that will match exactly the field name sent by the server.


header rewrite response location header-value "http://(.*)" replace "https://%1"

Thanks for the response. I think my issue may not be the ACE but just the way the app is coded - i dont think the app is actually sending a clear-text redirect, but rather the navigation buttons that the client uses are to non-https URLs.

I cant get a sniff of the underlying requests and reponses to verify this yet though which doesnt help.

If i get the traces, i take it that i could just match on the various URLs, and set up a redirect to each URL as HTTPS rather than HTTP? Obviously a better solution is to change the app...

Thanks a lot.

shutikov Thu, 10/09/2008 - 10:06

You need to know, that ACE is performing header rewrite just for the first HTTP request or response. To do rewriting for each request(response) you should use "header modify per-request" in HTTP parameter map, and attach that parameter map to needed class in global policy.

parameter-map type http HTTP_PARAM_MAP

header modify per-request

action-list type modify http HTTP_Resp-2-HTTPS_Resp

header rewrite response Location header-value "http://(.*)" replace "https://%1"

policy-map type loadbalance http first-match TEST_POLICY


serverfarm test_farm

action HTTP_Resp-2-HTTPS_Resp

policy-map multi-match GLOBAL_POLICY

class TEST_L4

loadbalance vip inservice

loadbalance policy TEST_POLICY

loadbalance vip icmp-reply

appl-parameter http advanced-options HTTP_PARAM_MAP

ssl-proxy server TEST_SSL_PROXY


This Discussion