Forum Discussion
David_Tumlin
Nimbostratus
Jun 02, 2010Problem with Proxy Pass iRule
I am deploying a pair of LTMs to use as a reverse proxy in front of a SAP NetWeaver portal. I will probably be using the ProxyPass iRule to rewrite internal server addresses to Visrtual Server addresses. The problem I have is that some of the URLs within the pages are not being rewritten (or, according to debug on the ProxyPass rule, even seen.) I have done tcpdumps from the LTM and the client and can clearly see the URL in the HTTP content. I have the generic Stream profile assigned to the VS. Any ideas?
- The_Bhattman
Nimbostratus
Hi David, - The_Bhattman
Nimbostratus
Hi David, - David_Tumlin
Nimbostratus
Version 10.1.0 Build 3341.0 - The_Bhattman
Nimbostratus
Hi David, - David_Tumlin
Nimbostratus
Sorry, I sent the wrong link. I am using the ProxyPass v10.2. - hoolio
Cirrostratus
It looks like no matching rules are found as the client is requesting the VS on port 80, but you have the datagroup set for a source of testvip..net:8020. Are you trying to only remove the :8020 port from the server's response headers and/or content? - David_Tumlin
Nimbostratus
I was playing with the ProxyPass rule initially because of the debug capabilities. A stripped down rule to perform what I am attempting is below. I am trying to modify the hostnames in URLs. - hoolio
Cirrostratus
Can you remove the Accept-Encoding header from the requests? This prevents the server from sending compressed responses. And do you really want the client to make a request to the test VS on port 8020?when HTTP_REQUEST { if { [HTTP::header exists "Accept-Encoding"] } { HTTP::header remove "Accept-Encoding" log local0. "$log_prefix: Removed Accept-Encoding header" } } when HTTP_RESPONSE { Disable the stream filter by default STREAM::disable Check if response type is text if {[HTTP::header value Content-Type] contains "text"}{ Set the replacement string STREAM::expression {@URL=http://qj1cen00\.na\.\.net:8020/@URL=http://testvip..net:8020/@} Enable the stream filter for this response only STREAM::enable } } when STREAM_MATCHED { log local0. "Stream matched [STREAM::match]" }
- David_Tumlin
Nimbostratus
It works. It was the compression that kept the Stream profile from working.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects