For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

kgaigl's avatar
kgaigl
Icon for Cirrocumulus rankCirrocumulus
Dec 23, 2021
Solved

2 IRules with "when HTTP_REQUEST"

Hello, I need on a VS 2 IRules, one for redirect to a URI and one for a Maintanance Page: redirect:     when HTTP_REQUEST { if { [HTTP::uri] equals "/"} { HTTP::redirect "https://[H...
  • Enes_Afsin_Al's avatar
    Dec 23, 2021

    Hi kgaigl,

    I think a tcl error occurs. Can you investigate the ltm logs?

    cat /var/log/ltm | grep "TCL error"

    https://support.f5.com/csp/article/K23237429

    Redirect:

    when HTTP_REQUEST {
    	if { [HTTP::has_responded] } { return }
    	if { [HTTP::uri] equals "/" } {
    		HTTP::redirect "https://[HTTP::host]/some-uri"
    		return
    	}
    }

    Maintanance Page:

    when HTTP_REQUEST priority 450 {
    	if { [HTTP::has_responded] } { return }
    	if { [active_members [LB::server pool]] < 1 } {
    		switch [HTTP::uri] {
    			"/bg-wappen.gif" { HTTP::respond 200 content [ifile get "bg-wappen.gif"] }
    			default { HTTP::respond 200 content {
    				<!DOCTYPE html>
    				...

    Combined:

    when HTTP_REQUEST {
    	if { [HTTP::has_responded] } { return }
    	if { [HTTP::uri] equals "/" } {
    		HTTP::redirect "https://[HTTP::host]/some-uri"
    		return
    	}
    	elseif { [active_members [LB::server pool]] < 1 } {
    		switch [HTTP::uri] {
    			"/bg-wappen.gif" { HTTP::respond 200 content [ifile get "bg-wappen.gif"] }
    			default { HTTP::respond 200 content {
    				<!DOCTYPE html>
    				...