Blank Pages

Maxim Dounin mdounin at mdounin.ru
Tue May 15 14:27:51 UTC 2018


Hello!

On Tue, May 15, 2018 at 12:12:10PM +0000, Friscia, Michael wrote:

> I’m wondering if there’s a simple way to solve this problem.
> 
> The upstream application sometimes returns a blank 500 error 
> which Nginx then serves as the blank page. This is working as 
> intended. But what I’d like Nginx to do is display a custom 
> error page if the upstream 500 error is blank, but if the 
> upstream 500 page is not blank, then I want to serve the 
> upstream 500 error page.
> 
> Has anyone ever come up with a way to handle a case like that?
> 
> I was thinking of having a custom header in the upstream app and 
> if that header doesn’t exist, then serve a page from Nginx but 
> before I run down that path I thought I’d ask. I cannot use 
> proxy_intercept_errors on; because the upstream app serves 
> customized 404 errors that I would lose.

Note that you can configure interception of only 500 error page, 
as nginx will only intercept errors you have an explicit 
error_page for.  That is, a configuration like this will only 
intercept 500, but not 404:

    location / {
        proxy_pass http://backend;
        proxy_intercept_errors on;
        error_page 500 /error500.httml;
    }

    location = /error500.html {
        ...
    }

This won't allow to test if the returned upstream error response 
is blank or not, but may be enough for your use case based on the 
above description.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx mailing list