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/ _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx