所有服务器的nginx错误位置

Miq*_*uel 6 error-handling nginx custom-error-pages custom-error-handling

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

...
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 {
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我试过设置:

http {
    ...
    root /var/www/nginx/errors; # also with root /var/www/nginx
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*Ten 14

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

没有.

您可以将单独的文件include放入所有服务器中.

/etc/nginx/error-location.inc:

location ^~ /error/ {
    internal;
    root /var/www/nginx/errors;
}
Run Code Online (Sandbox Code Playgroud)

然后:

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

server {
    ...
    include error-location.inc;
}
Run Code Online (Sandbox Code Playgroud)