NgINX错误页面

NgINX错误页面,nginx,Nginx,我在服务器上配置了一些虚拟主机。 我需要为所有这些设置一个常见错误页面 host1.conf server { listen 80; server_name host1.com root host1/path; location / { proxy_pass http://localhost:xxxx; } } server { listen 80; server_name host2.com roo

我在服务器上配置了一些虚拟主机。 我需要为所有这些设置一个常见错误页面

host1.conf

server {
    listen 80;
    server_name host1.com

    root host1/path;

    location / {
            proxy_pass http://localhost:xxxx;
    }
}
server {
    listen 80;
    server_name host2.com

    root host2/path;

    location / {
            proxy_pass http://localhost:xxxx;
    }
}
host2.conf

server {
    listen 80;
    server_name host1.com

    root host1/path;

    location / {
            proxy_pass http://localhost:xxxx;
    }
}
server {
    listen 80;
    server_name host2.com

    root host2/path;

    location / {
            proxy_pass http://localhost:xxxx;
    }
}
等等

1)我可以在每个.conf文件中设置错误页面吗?

我可以在每个.conf文件中设置错误页面吗?或者我只能在default.conf中设置它

2)错误重定向问题

我的默认服务器上也有404.html页面和50x.html页面。 因此,我将以下说明添加到我的所有host.conf文件中

error_page 404 /404.html;
location = /404.html {
    root /path/to/default;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
    root /path/to/default;
}
我正确地看到了那一页,但是。。。它们包含一些css、网络字体和图像。由于未解析包含,看起来它们是在主机根而不是默认根上查看的


有一种解决方案,可以在默认站点配置上设置一个错误页面,并在所有其他配置中重复使用?

如果
错误页面
使用绝对URL,则可以将其放入
http
容器中,并让每个
服务器
块继承。否则,您将需要在每个
服务器中使用
location
块,使用
include
可能是最简单的解决方案。使用include是一个很好的建议。错误页面具有绝对URL,但不应显示该URL。