Forum Discussion
Rav_99576
Feb 05, 2012Nimbostratus
Redirect Port
Hello Everybody,
I have a case over here that i need to redirect the port that hits my VIP meaning
I have already a Service running on port 80 and all the requests that i receive are going through this port while the back end servers have the port 7778 running on.
So all i need is when i receive any request on port 7778 to be redirected to port 80
Http://10.10.10.1:7778/index.htm > http://10.10.10.1/index.htm
What i thought of is this but it didnt work i might need your help folks :
when HTTP_REQUEST {
if {[TCP::client_port] != "80"}{
HTTP::redirect "http://10.10.10.1[HTTP::uri]"
}
}
Thnx in advance
- nitassEmployeecan you try this?
[root@ve1023:Active] config b virtual list virtual bar { destination 172.28.19.79:any ip protocol 6 rules myrule profiles { http {} tcp {} } } virtual bar80 { snat automap pool foo destination 172.28.19.79:80 ip protocol 6 profiles { http {} tcp {} } } [root@ve1023:Active] config b rule myrule list rule myrule { when HTTP_REQUEST { HTTP::redirect "http://[getfield [HTTP::host] ":" 1][HTTP::uri]" } } [root@ve1023:Active] config curl -I http://172.28.19.79:8080/test HTTP/1.0 302 Found Location: http://172.28.19.79/test Server: BigIP Connection: Keep-Alive Content-Length: 0
- Rav_99576Nimbostratusi tried this rule before but always shows :
- nitassEmployeethis is mine.
[root@ve1023:Active] config curl -IL http://172.28.19.79:7778/ HTTP/1.0 302 Found Location: http://172.28.19.79/ Server: BigIP Connection: Keep-Alive Content-Length: 0 HTTP/1.1 200 OK Date: Sun, 05 Feb 2012 09:47:48 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Fri, 11 Nov 2011 14:48:14 GMT ETag: "4183e4-3e-9c564780" Accept-Ranges: bytes Content-Length: 62 Content-Type: text/html; charset=UTF-8
- nitassEmployeei just noticed you are using TCP::client_port. it shoud be TCP::local_port.
- Rav_99576Nimbostratusvirtual WebACM {
- nitassEmployeewhen browsing http://10.10.10.1:7778/, it won't hit your virtual server since it is listening on port 80. you have to create another wildcard port virtual server something like the one i posted above or use only one virtual server like the following.
[root@ve1023:Active] config b virtual bar list virtual bar { snat automap pool foo destination 172.28.19.79:any ip protocol 6 rules myrule profiles { http {} tcp {} } } [root@ve1023:Active] config b pool foo list bpool foo { members 200.200.200.101:80 {} } [root@ve1023:Active] config b rule myrule list rule myrule { when HTTP_REQUEST { if {[TCP::local_port] != 80}{ HTTP::redirect "http://[getfield [HTTP::host] ":" 1][HTTP::uri]" } } } [root@ve1023:Active] config curl -IL http://172.28.19.79:7778/ HTTP/1.0 302 Found Location: http://172.28.19.79/ Server: BigIP Connection: Keep-Alive Content-Length: 0 HTTP/1.1 200 OK Date: Sun, 05 Feb 2012 09:53:23 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Fri, 11 Nov 2011 14:48:14 GMT ETag: "4183e4-3e-9c564780" Accept-Ranges: bytes Content-Length: 62 Content-Type: text/html; charset=UTF-8
- Rav_99576NimbostratusThnx dude it works like a charm XD !! actually i havent thought of it not reaching the VIP itself ... seriously i dunno how did i miss it :P
- nitassEmployeeyou are welcome! :D
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