Learn F5 Technologies, Get Answers & Share Community Solutions Join DevCentral

Filter by:
  • Solution
  • Technology
Answers

iRule Event Order - HTTP

All, I'm in the process of creating a number of diagrams visually describing iRule event order for a number of reasons. Before I get busy making this all sexy and colourful, would anyone care to take a look and confirm I've got things right. I'll post the final version once it's done. I'm also hoping to add in some notes on any iRule commands which might affect the flow. Thanks.

Updated to v0.2 below as DC won't let me insert a picture in an existing comment it seems.

Updated to v0.3 below, now including server side events.

Updated to v0.4 below 11/Nov/2013

Updated to v0.5 below 11/Nov/2013

Updated to v0.6 below 12/Nov/2013

Updated to v0.7 below 12/Nov/2013 - events added

Update to v0.9 below 29/04/2014 - Updated to v9: added HTTP::disable and HTTP::enable commands and details on persistence.

Updated to v1.1 - June 2014. Added XML profile and event, other minor corrections.

Updated to v1.2 September 2014. Reordered some server side events, added further notes.

FYI the HTTPS/SSL/TLS diagram is here: https://devcentral.f5.com/questions/irule-event-order-https-ssl-client-server-side

18
Rate this Question
Comments on this Question
Comment made 08-Nov-2013 by What Lies Beneath 6512
--
0

Answers to this Question

placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v0.7 updated with some new events and links between them;

-Removed

5
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Updated to v1.2 September 2014. Reordered some server side events, added further notes.

Image Text

4
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v10a.

-Removed.

1
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

You can add when CLIENTSSL_CLIENTCERT for SSL connections events

0
Comments on this Answer
Comment made 08-Nov-2013 by What Lies Beneath 6512
Thanks Brijesh but I've got that in another diagram so I can incorporate some of the client authentication stuff too, will post that too once I think this one is accurate.
0
Comment made 30-Apr-2014 by What Lies Beneath 6512
The HTTPS/SSL diagram is here: https://devcentral.f5.com/questions/irule-event-order-https-ssl-client-server-side
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

It seems to be good for me, everything is here for the client side.
Nice job ;)

0
Comments on this Answer
Comment made 08-Nov-2013 by What Lies Beneath 6512
---
0
Comment made 09-Nov-2013 by boneyard 4529
dont seem to see any image currently, is that correct?
0
Comment made 13-Nov-2013 by What Lies Beneath 6512
Should be there now although the far right seems to have been 'clipped'.
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v0.3 Updated with server side events and just about everything else I can think of

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v0.4 updated with another iRule command's effect and a few other minor things;

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v0.5 updated with far more attractive formatting.

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v0.6 updated with some corrections and improved formatting;

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

What Lies Beneath, you rock, thank you! I would like to come up with "aggressive" debug logging iRules to go along with these excellent charts you have been working on. What I am thinking are "vanilla" logging iRule examples with each event and a link to it's wiki in a comment to accompany each chart with useful info that would get people moving towards quickly being able to identify suitable syntax to log important events and associated behaviors, in the order they occur. So when tracing some_issue, knowing what fires when in the context of some_issue and details regarding what one could expect to observe in that event is critical. This could really help people to easily identify suitable logging strategies to quickly get valuable data they are after in a log and potentially avoid a lot of the "fun" that goes along with having to decrypt flows "full-proxy".

Also, if all of this is in one thread there could be codeshare examples in the thread of how people customized it for well_known_problems (SOL7964 | Weblogic | Akamai)!?

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

You're very kind Skye, thank you.

I'm not sure alot of what you're suggesting is possible within the constraints of the DevCentral site/format (unless of course you're part of the team). Despite that, it's a great idea around the logging and there are a few other 'versions' foccussed on specific tasks I can think of.

Unfortunately my personal laptop is dead; I've got the source file but no way to edit it just yet. Working on that. I'll be back...

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Updated to v9: added HTTP::disable and HTTP::enable commands and details on persistence.

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v10 fixes the WA/AAM stuff and adds some events;

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

v1.1 - June 2014;

--removed

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

I wonder if you can post this in Visio so others can contribute

0
Comments on this Answer
Comment made 08-Sep-2014 by What Lies Beneath 6512
Can't afford Visio unfortunately :-) I use SmartDraw; no export to a Visio file either, sorry. Happy to add something if you want me to.
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

I see you have published a HTTPS version to this as well on another site. Would you have any issue with me re-creating these in Visio and publishing them to the Wiki so others could download them or possible contribute to them? Maybe it could help get others to produce similar diagrams for traffic flows. I would credit you of course!

0
Comments on this Answer
Comment made 19-Mar-2015 by What Lies Beneath 6512
Hey Brad, that would be just fine.
0
Comment made 19-Mar-2015 by What Lies Beneath 6512
The HTTPS diagram is on DC too by the way: https://devcentral.f5.com/questions/irule-event-order-https-ssl-client-server-side. Can you drop me an email at sjiveson @ outlook.com please? We need to have a way of me informing you of my changes. Cheers
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

HTTP:: commands aren't necessarily available when XML_CONTENT_BASED_ROUTING event fires. Whilst F5 documentation is a bit scarce on XML CBR, I know from experience that simple things like HTTP::respond don't work. For example, the following iRule fragment will generate a "command is not valid in current event context" error:

when XML_CONTENT_BASED_ROUTING { HTTP::respond 302 Location "http://www.domain.org" }

0
Comments on this Answer
Comment made 19-Mar-2015 by What Lies Beneath 6512
Hey gsvl, I will do some digging, thank you.
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

This is one of my favories, thanks for making it!

Just a tip: Seems like HTTP_RESPONSE_RELEASE happens after CACHE_RESPONSE.

/Patrik

0
Comments on this Answer
Comment made 11-Jan-2016 by What Lies Beneath 6512
Thanks Patrik, I'd fix it but I've lost the ability to edit this. I will get around to recreating it, but not any time soon. Cheers
0