2

I want to use Nginx as a simple reverse proxy, but if the server behind Nginx is down I just was to display a blank page. For some reason this configuration isn't displaying a blank page on error 502 and I can't figure out why.

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    use epoll;
    # multi_accept on;
}

http {

    keepalive_timeout 65;
    proxy_read_timeout 200;

    upstream tornado {
        server 127.0.0.1:8001;
    }

    server {
        listen 80;
        server_name www.something.com;

        location / {
            error_page 502 = @blank;
            proxy_pass http://tornado;
        }

        location @blank {
            index index.html;
            root /web/blank;
        }
    }
}
5

I believe that "root" is ignored in named locations (@blank). Can't say if this is by design or a bug.

This works for me (0.7.67):

    location / {
        error_page 502 = /blank.html;
        proxy_pass http://tornado;
    }

    location = /blank.html {
        root /foo/bar;
    }
| improve this answer | |
0

Specify "error_page" for whole server, not for "location /"

| improve this answer | |
  • That didn't seem to work. Thanks though. – user55583 Sep 29 '10 at 23:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy