[Varnish] #309: Varnish freezes if >1k of binary postdata is passed in
Varnish
varnish-bugs at projects.linpro.no
Wed Sep 3 23:41:44 CEST 2008
#309: Varnish freezes if >1k of binary postdata is passed in
---------------------+------------------------------------------------------
Reporter: Fry-kun | Owner: des
Type: defect | Status: new
Priority: high | Milestone:
Component: build | Version: 2.0
Severity: normal | Resolution:
Keywords: |
---------------------+------------------------------------------------------
Comment (by Fry-kun):
I just noticed that changing the POST setting from pass to pipe seems to
fix the problem.
Here's my configuration:
{{{
backend default {
.host = "127.0.0.1";
.port = "1089"; # was "8080";
}
acl purge {
"localhost";
"192.168.1.0"/16;
}
sub vcl_recv {
# Handle special requests
if (req.request != "GET" && req.request != "HEAD") {
# POST - Logins and edits
if (req.request == "POST") {
pass;
#pipe;
}
# PURGE - The CacheFu product can invalidate updated URLs
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Not allowed.";
}
lookup;
}
}
# Don't cache authenticated requests
if (req.http.Cookie && req.http.Cookie ~
"__ac(|_(name|password|persistent))=") {
# Force lookup of specific urls unlikely to need
protection
if (req.url ~ "\.(js|css)") {
unset req.http.cookie;
lookup;
}
pass;
}
if (req.http.Cookie) {
unset req.http.cookie;
lookup;
}
# The default vcl_recv is used from here.
}
# Do the PURGE thing
sub vcl_hit {
if (req.request == "PURGE") {
set obj.ttl = 0s;
error 200 "Purged";
}
}
sub vcl_miss {
if (req.request == "PURGE") {
error 404 "Not in cache";
}
}
}}}
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/309#comment:3>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list