<div dir="ltr">Thierry, thank you! This was indeed the problem! Everything is working correctly now.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Sep 13, 2013 at 12:06 AM, MAGNIEN, Thierry <span dir="ltr"><<a href="mailto:thierry.magnien@sfr.com" target="_blank">thierry.magnien@sfr.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
If I'm not misreading :<br>
<br>
if (!(client.ip ~ passem)) {<br>
      return (pass);<br>
}<br>
<br>
means exactly the opposite of what you need : if NOT (client.ip matches passem) then PASS. Just remove the "!" and it should work ;-)<br>
<br>
Regards,<br>
Thierry<br>
<br>
<br>
De : varnish-misc-bounces+thierry.magnien=<a href="mailto:sfr.com@varnish-cache.org">sfr.com@varnish-cache.org</a> [mailto:<a href="mailto:varnish-misc-bounces%2Bthierry.magnien">varnish-misc-bounces+thierry.magnien</a>=<a href="mailto:sfr.com@varnish-cache.org">sfr.com@varnish-cache.org</a>] De la part de Stephen Wood<br>

Envoyé : vendredi 13 septembre 2013 08:04<br>
À : iPhrankie<br>
Cc : <a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
Objet : Re: Bypass Cache for Particular Visitor IP Address<br>
<br>
How do the logs describe the request? Hit/Miss/Pass? How are you sure that the content is being served out of the cache?<br>
<br>
Also, you might want to consider using ipcast to set the client.ip from the x-forwarded-for headers. It's a lot cleaner than using the inline C. We use it to do what you're describing.<br>
<br>
On Thu, Sep 12, 2013 at 12:12 PM, iPhrankie <<a href="mailto:iphrankie@gmail.com">iphrankie@gmail.com</a>> wrote:<br>
Hello Everyone,<br>
We're using Varnish 3.0.3 behind a load balancer. We would like to bypass the Varnish cache for a particular visitor IP address.<br>
After doing research, I found the following solution. We're using the following in order for the acl to match the "http.x-forwarded-for" string. This code is working and within varnishlog I see "6 VCL_acl c MATCH passem 7x.xxx.xxx.xxx". However, even though it is matching the acl, the cache is still not being bypassed.<br>

I have a feeling it has to do with the "sub vcl_recv" or the "return (pass)". I also tried using "set req.hash_always_miss = true;" instead of "return (pass)", but this also didn't work.<br>

I would really greatly appreciate the help getting this to work. Many thanks.<br>
<br>
    C{<br>
    #include <netinet/in.h><br>
    #include <string.h><br>
    #include <sys/socket.h><br>
    #include <arpa/inet.h><br>
    }C<br>
    acl passem { "7x.xxx.xxx.xxx"; }<br>
    sub vcl_recv {<br>
    C{<br>
    struct sockaddr_storage *client_ip_ss = VRT_r_client_ip(sp);<br>
    struct sockaddr_in *client_ip_si = (struct sockaddr_in *) client_ip_ss;<br>
    struct in_addr *client_ip_ia = &(client_ip_si->sin_addr);<br>
    char *xff_ip = VRT_GetHdr(sp, HDR_REQ, "\020X-Forwarded-For:");<br>
 <br>
    if (xff_ip != NULL) {<br>
    inet_pton(AF_INET, xff_ip, client_ip_ia);<br>
    }<br>
    }C<br>
    if (!(client.ip ~ passem)) {<br>
    return (pass);<br>
            }<br>
    }<br>
 <br>
<br>
_______________________________________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" target="_blank">https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
<br>
--<br>
Stephen Wood<br>
<a href="http://www.heystephenwood.com" target="_blank">www.heystephenwood.com</a><br>
</font></span></blockquote></div><br></div>