Forum Discussion
Irule Issue - url rewrite and redirect
I am trying to archive below but its not working
original request - https://abc.com/db/ap-webconsole before reach server it should go as https://abc.com:3333/ap-webconsole response should go as https://abc.com/ap-webconsole to client
Code
when HTTP_REQUEST { log local0. "Original path: [HTTP::path]"log local0. "Original uri: [HTTP::uri]"log local0. "host = [HTTP::host]; path = [HTTP::path]"
if { [HTTP::uri] starts_with "/db/ap-webconsole" } {
HTTP::path "[HTTP::host]:3333/ap-webconsole" log local0. "Pool app1 chosen" pool app1 log local0. "Modified uri: [HTTP::uri]" } else { log local0. "Pool app2 chosen" pool app2
} }any help appreciated
Thanks snl
3 Replies
- Stanislas_Piro2
Cumulonimbus
Hi,
in your irule, you get request parameters with good command, but when you change it, you only modified HTTP::path...
HTTP::host "[HTTP::host]:3333" HTTP::path "/ap-webconsole"another point is to replace /db/ap-webconsole with /ap-webconsole
HTTP::path [string map {/db/ap-webconsole /ap-webconsole} [HTTP::path]] - Snl
Cirrostratus
so can i try as below
Code when HTTP_REQUEST { log local0. "Original path: [HTTP::path]" log local0. "Original uri: [HTTP::uri]" if { [HTTP::uri] starts_with "/db/ap-webconsole" }{ HTTP::host "[HTTP::host]:3333" HTTP::path [string map {/db/ap-webconsole /ap-webconsole} [HTTP::path]] log local0. "Pool app1 chosen" pool app1 log local0. "Modified uri: [HTTP::uri]" } else { log local0. "Pool app2 chosen" pool app2 } }still i am getting error on line 5 , how we can modify the host with :3333 or use respond location 301 because backend http host is change to something else do i required to modify the response as well with stream profile ? pls assist
- Stanislas_Piro2
Cumulonimbus
Hi,
try this irule:
when HTTP_REQUEST { switch -glob -- [HTTP::path] { "/db/ap-webconsole*" { HTTP::respond 301 noserver Location [string map {/db/ap-webconsole /ap-webconsole} [HTTP::uri]] } "/ap-webconsole*" { HTTP::header replace Host "[HTTP::host]:3333" } default { HTTP::respond 302 noserver Location "/ap-webconsole/" } } }
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* 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