Nginx+varnish & delivered error_page

Hello,

we have a little problem with, as the topic says, “Nginx+varnish &
delivered error_page”. We have nginx in front as proxy, behind there’s a
varnish cashing stuff from a tomcat backend.

Sometimes the tomcat crashes and delivers 503 to varnish; varnish sends
503 to nginx, nginx sends it to the client (browser, fiddler, …). I’ve
created some 50x error page which is delivered via nginx:

        error_page 500 501 502 503 504 505 /500.htm;

        # location for error pages
        location = /500.htm {
            root /var/www/errorpages;
            internal;
        }

It worked as long as varnish wasn’t there, but now with varnish i can’t
see my own error page anymore. Instead the default varnish 503 page (i
think it’s some html code; but with correct 503 status code) is
delivered. Does anyone know why this happens and has an idea how to
prevent the varnish page to be delivered in favor of the nginx page?

thx
revirii

Posted at Nginx Forum:

Today Jul 28, 2010 at 06:13 revirii wrote:

It worked as long as varnish wasn’t there, but now with varnish i can’t
see my own error page anymore. Instead the default varnish 503 page (i
think it’s some html code; but with correct 503 status code) is
delivered. Does anyone know why this happens and has an idea how to
prevent the varnish page to be delivered in favor of the nginx page?

Module ngx_http_proxy_module

“If you set this to on then nginx will intercept status codes that are
explicitly handled by an error_page directive. Responses with status
codes
that do not match an error_page directive will be sent as-is from the
proxied server.”


WNGS-RIPE

that’s it - thx a lot :slight_smile:

Posted at Nginx Forum:

Hey,
thought I’d chip in since I also use Varnish over nginx for caching (at
least some parts)

On 28 jul 2010, at 14.04, Igor S. wrote:

created some 50x error page which is delivered via nginx:

It worked as long as varnish wasn’t there, but now with varnish i can’t
see my own error page anymore. Instead the default varnish 503 page (i
think it’s some html code; but with correct 503 status code) is
delivered. Does anyone know why this happens and has an idea how to
prevent the varnish page to be delivered in favor of the nginx page?

BTW, why do you prefer to use varnish instead of nginx built-in cache ?

The main reason I use varnish is wildcard purging.

On Wed, Jul 28, 2010 at 06:13:32AM -0400, revirii wrote:

[code]
see my own error page anymore. Instead the default varnish 503 page (i
think it’s some html code; but with correct 503 status code) is
delivered. Does anyone know why this happens and has an idea how to
prevent the varnish page to be delivered in favor of the nginx page?

BTW, why do you prefer to use varnish instead of nginx built-in cache ?


Igor S.
http://sysoev.ru/en/

Igor S. Wrote:

BTW, why do you prefer to use varnish instead of
nginx built-in cache ?

Well… we needed to do caching fast, and a co-worker is quite good in
varnish issues. It would’ve taken longer to test how this (incl. cookie
& session handling) is done in nginx. But maybe, when there’s some
time… :slight_smile:

Posted at Nginx Forum: