nginx 默认错误页面由于某种原因停止工作

nginx 默认错误页面由于某种原因停止工作

这曾经有效:

server {
  server_name example.com;

  location / {
    proxy_pass http://localhost:8888;
    error_page 502 /502.html;
  }

  location = /502.html {
    root /var/www/example;
  }
}

现在突然不再有这种现象了...我不知道发生了什么变化?

/var/www/example/index.html如果端口 8888 没有响应,我会得到 404 而不是显示...

如何让它再次工作?谢谢

答案1

您的大部分内容都位于远程服务器上。您需要在本地提供错误页面(以及一些资源)。您需要一个与上游提供的任何位置不同的“特殊位置”,并将所有本地资源放入其中。我无法为该位置选择一个名称,因为我不知道您从 8888 提供什么。但/error_pages现在让我们先说说。

server {
    server_name example.com;

    location / {
        proxy_pass http://localhost:8888;
        error_page 502 /error_pages/502.html;
    }

    location /error_pages {
        root /var/www/example;
    }
}

通过上述配置,您将需要编辑502.html和更改资源的 URL 以添加前缀/error_pages

您还需要将所有文件(502.html及其资源文件)移动到/var/www/example/error_pages/子目录中。

答案2

您的配置表明错误文档为。您的配置中任何时候都/var/www/example/502.html不会尝试加载任何内容。重命名该文件。/var/www/example/index.html

相关内容