In case anyone runs into the same problem, with the help from the folks on
#varnish, the problem is that piping a POST will cause the cache to be
bypassed if the session remains open.  The solution is to either:

(1) Upgrade to trunk (I was using 1.1.2)
(2) Add "set req.http.connection = "close";" immediately before the pipe for
a POST

On Jan 31, 2008 4:48 PM, Aaron Pfeifer <[EMAIL PROTECTED]> wrote:

> Is there a possible reason Varnish would not immediately cache a file when
> put in front of s3, requiring multiple subsequent hits before caching?  The
> scenario is:
>
> The file "foo.png" is uploaded to the web server and then stored onto S3.
> When a request is made for http://localhost/files/foo.png, Varnish is
> configured to look for the file in S3 and cache it.  Below is my
> configuration:
>
> backend www {
>   set backend.host = "127.0.0.1";
>   set backend.port = "81";
> }
>
> backend media {
>   set backend.host = "s3.amazonaws.com";
>   set backend.port = "80";
> }
>
> sub vcl_recv {
>   if (req.url ~ "\.png$") {
>     set req.url = regsub(req.url, "^", "/my_bucket_name");
>     set req.backend = media;
>     lookup;
>   }
> }
>
> However, for some reason when accessing that url, I get 404 errors.  After
> hitting refresh a bunch of times, I stop getting the 404's.  I've verified
> during this time that the file is already available at the url on S3.
>
> Any help would be appreciated.
>
> Thanks
_______________________________________________
varnish-misc mailing list
[email protected]
http://projects.linpro.no/mailman/listinfo/varnish-misc

Reply via email to