Forum Discussion
ottleydamian
Cirrus
Mar 03, 2019TCP iRule to find HTTP headers
I have a situation where I have an iRule that works once the user is using the HTTP protocol. Unfortunately, the same VIP handles a proprietary protocol from Oracle called T3. To use the iRule I need...
- Mar 03, 2019
I think you could limit the iRule to this:
when CLIENT_ACCEPTED { HTTP::disable TCP::collect 4 } when CLIENT_DATA { if { [TCP::payload 4] contains "GET" } { HTTP::enable } TCP::release } when HTTP_REQUEST { my irule } when HTTP_RESPONSE { my irule }
I'll expect the HTTP_REQUEST and HTTP_RESPONSE events will not be triggered when the HTTP profile is disabled.
ottleydamian
Cirrus
Mar 03, 2019Another thought I had was disabling and enabling events so I can have 1 iRule: (I haven't tested it in production yet but my preliminary test suggest that it should work)
when CLIENT_ACCEPTED {
TCP::collect 4
}
when CLIENT_DATA {
log local0. "Before GET"
if { [TCP::payload 4] contains "GET" } {
HTTP::enable
event HTTP_REQUEST enable
event HTTP_RESPONSE enable
rule Levi-Test
log local0. "After GET"
if { [PROFILE::exists http] == 1 }{
log local0. "HTTP profile was added"
}
} else {
HTTP::disable
event HTTP_REQUEST disable
event HTTP_RESPONSE disable
rule none
log local0. "HTTP profile was removed..."
}
TCP::release
}
when HTTP_REQUEST {
my irule
}
when HTTP_RESPONSE {
my irule
}
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