Forum Discussion

jwhitene's avatar
jwhitene
Icon for Nimbostratus rankNimbostratus
Nov 27, 2017

Nodes requesting their own vip are not triggering the vip's iRule

We have an iRule that currently works fine for clients. It is a when http_request, if the url starts with /something, use pool X, otherwise use pool Y.

 

If I go to vip url/something in my desktop browser, the iRule is correctly triggered and I can content from /something using pool X.

 

If I go to vip url/something on the node itself (wget or a browser), I get a 404 message from the web server running on the node. That is because I suspect that /something is trying to be found in pool Y, but the content is only found in pool X. The iRule's else condition or the default pool of the vip itself.

 

2 Replies

  • Gone through your post, correct me if i am wrong. it seems you are bypassing LB & directly hitting to back-end pool member with node url link and specified location link is not found on server. So you are getting 404 Error

    Page Not Found
    .

  • Colleague of jwhitene here. We have a forwarding VS that auto-maps SNAT when the node requests the DNS name (or IP) that corresponds to its own VS. Source [node IP]/32 Dest [VS IP] Type Standard, All Ports, Source Address Translation Auto Map. It was the only way we could get it to reply to itself. So the request should be going through the iRule. Snippet:

     

    set path [string tolower [HTTP::path]]if { $path starts_with "/foo/" or $path equals "/foo" } { https pool redirect_pool break

     

    But it appears the self-requests are getting directed to the default pool.