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

Dan44's avatar
Dan44
Icon for Altostratus rankAltostratus
Apr 27, 2021

Generate a unique ID with the help of an iRule

Hello everyone

I would like to generate a unique ID with the help of an iRule and place it in a header. The goal is to identify the HTTP request by the ID. Has anyone done something like this before?

What I have tried:

when HTTP_REQUEST priority 3 {


###Generate URL Tracing


for { set i 0 } {$i < 8 } { incr i } {
append rand_hex [format {%x} [expr {int(rand()*16)}]]
}
#log local0. "X-Request-ID: $rand_hex"




###Add X-Request-ID Header


if {not([HTTP::header exists X-Request-ID ])}{
	HTTP::header insert X-Request-ID $rand_hex


    }
}


when HTTP_RESPONSE priority 3 {
  HTTP::header insert X-Request-ID $rand_hex


}

The problem is that I sometimes see multiple requests with the same ID. Does anyone have a better idea how to solve it?

3 Replies