所有服务器的nginx错误位置

时间:2014-07-04 10:17:20

标签: nginx error-handling custom-error-pages custom-error-handling

是否可以为所有服务器定义公共位置?从nginx location文档中我看到该位置取决于服务器。我想做这样的事情:

...
http {
    error_page  404                    /error/404.html;
    error_page  500 501 502 503 504    /error/50x.html;

    location ^~ /error/ {
        internal;
        root /var/www/nginx/errors;
    }

    server {
        ...
    }

    server {
        ...
    }
    ...
}

我尝试过设置:

http {
    ...
    root /var/www/nginx/errors; # also with root /var/www/nginx
    ...
}

没有成功:始终显示nginx默认错误页面。

1 个答案:

答案 0 :(得分:13)

  

是否可以为所有服务器定义公共位置?

没有

您可以将单独的文件和include分别放入所有服务器中。

/etc/nginx/error-location.inc:

location ^~ /error/ {
    internal;
    root /var/www/nginx/errors;
}

然后:

server {
    ...
    include error-location.inc;
}

server {
    ...
    include error-location.inc;
}