Forum Discussion
brad_scherer_11
Nimbostratus
Apr 09, 2009Load Balance to an SSL Proxy Server
Hello,
I have an interesting problem/solution here.
We run ISA server proxies that are in a pool behind the BigIP. The BigIP hosts the VIP on port 8080.
We want to implement an iRule on the port 8080 VIP that looks for any SSL traffic and sends it a set of SSL Proxies that are not in the default ISA pool.
Here is the rule I came up with but am not sure if it written or working optimally. I was hoping to get some input from the experts here. I also have to build in a way to look for other ports that could be used for tunneling (9443, 6443, etc) but for now would be happy to just get the standard 443 traffic going to the new pool.
when HTTP_REQUEST {
if {[HTTP::uri] contains ":443"} {
pool SSL_Proxy }
log local0. "Rule for SSL_Proxy HTTPS"
}
How would I build in additional ports etc? Should this be looking in the tcp layer instead of http?
Any help would be greatly appreciated!
- L4L7_53191
Nimbostratus
Since you're passing encrypted traffic through the BigIP it has no visibility into the type of traffic passing through it. I would lean toward using the logic in a CLIENT_ACCEPTED event, since your only real option here is to stick with layer 4 (assuming you don't want to terminate SSL on the BigIP). - brad_scherer_11
Nimbostratus
Thank you for the reply. No we are not terminating on the F5. Basically we want any SSL traffic (determined by port/s) to simply go to a different pool of proxies than the standard. - brad_scherer_11
Nimbostratus
Could anyone else please respond or offer suggestion? I always had good luck with this forum before. I am a little surprised with lack of response on a seemingly pretty simple issue for the experts. - dennypayne
Employee
Are you saying that the only indication that the traffic is 443 is in the URI? So you can't create a virtual server on 443 that just uses the other pool? - brad_scherer_11
Nimbostratus
Hi Denny. thanks for the reply. - dennypayne
Employee
Hi Brad,when CLIENT_ACCEPTED { TCP::collect 20 } when CLIENT_DATA { log local0. "TCP payload is [TCP::payload 20]" if { [TCP::payload 20] contains "443" } { pool WebWasher log local0. "Rule for WebWasher HTTPS redirect" } TCP::release }
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