F5 iRules – Unconditionally redirect to another VIP based on host header content and initial connection stays intact

when HTTP_REQUEST {
    if { [string tolower [HTTP::host]] equals "site2.lab.com" } {
        HTTP::redirect "http://site3.lab.com"
    }
}

With this iRule, the initial connection to site2.lab.com is not closed and kept in memory until it times out. Check out the below output from curl which validates the same.

Continue reading

Advertisements

Debug health monitor for a single pool member in F5 LTM

Here’s an old post that shows how to debug bigd that gets you the debugs of all the health monitors that are running on the system. The rule of thumb with debugs is that the files get too large and may have an impact on other important services that may need that extra space.

What if you want to enable the debugs for just one pool member to see what’s going on with the health monitor associated with the pool member?

Monitor logging option is a better approach than debugging the bigd for this purpose.

You can find this setting under Local Traffic > Pools > pool_name > Members > Monitor Logging

Capture

Continue reading

Using curl for troubleshooting

View only response headers

curl -I only retrieves the header of the resource. The ‘I’ is case sensitive.

root@ubnsrv01:/etc/ssl/certs# curl -I https://site3.lab.com
HTTP/1.1 200 OK
Content-Length: 191
Content-Type: text/html
Last-Modified: Thu, 17 Aug 2017 21:14:18 GMT
Accept-Ranges: bytes
ETag: "40d9a1c99d17d31:0"
Server: Microsoft-IIS/7.5
Date: Sat, 02 Sep 2017 22:58:54 GMT

View response headers and content

curl -i includes the HTTP header in the output along with the site content. Since this URL is terminating on an F5, the HTTP header reports that a redirect is configured for this URL but doesn’t redirect it automatically to the URL. The ‘i’ is case sensitive.

Continue reading