Forum Discussion

Paul_Z's avatar
Paul_Z
Icon for Altostratus rankAltostratus
Sep 30, 2021

Irule for fire and forget https virtual server

Hi, I'm trying to setup a virtual server that will accept requests from some internal clients and immediately return a 200 response and also fire the request at some external servers through an irule. We don't care about the response from the external server, the most important thing is that the client gets a quick 200 OK response so they are not interrupted.

I have a simple irule doing a dns lookup and forwarding the request to the external servers, but I'm struggling where to set a response that would prematurely go to the client.

Is this even possible?

  • Thanks, I'll look into that, I've just tried TCP::respond (which doesn't close the connection) and this seems better.

  • Hi, yes I've tried http::respond clientside at event HTTP_REQUEST_SEND, but the issue is the script stops & the request does not seem to be sent to the external server.

    • Angelo_V's avatar
      Angelo_V
      Icon for Cirrus rankCirrus

      I saw some irules that generated a new request using the "connect" and "send" commands

       

      you can prepend them to the HTTP command: respond

       

      https://clouddocs.f5.com/api/irules/SIDEBAND.html

  • Hi, the TCP::respond wasn't working, I've tried sideband, but whatever I do the connection to the client terminates before the request is sent to the server.

    The request to the external server is https, so I have had to put another virtual server in the route as it seems sideband connections have to be non ssl. (I don't have irules LX setup).

    Client req https -> virtual -> sideband http -> virtual -> https external server

    It seems impossible to do an async fire and forget request!