html - 带有 css 和图像文件的 nginx 自定义错误页面 502

标签 html css nginx uwsgi

我正在尝试为 503 添加自定义错误页面。我将这些行添加到 nginx.conf 文件中的服务器 conf:

error_page 500 502 503 504 /50x.html;
location = /50x.html {
    root  /home/username/sites/myProject/current/errorPages;
    internal;
}

它在 uwsgi 关闭时显示自定义页面,但是这不显示任何图像。我尝试了许多我能想到的不同配置,但没有运气。如何显示图像文件并为自定义错误页面启用 css?

我将自定义错误页面放入 /home/username/sites/myProject/current/errorPages 文件结构为:

errorPages/50x.html
errorPages/50x_files/50x.css
errorPages/50x_files/50x.js
errorPages/50x_files/image.png

最佳答案

我只是遇到了同样的问题,有效的方法是像这样设置 nginx conf:

error_page 500 502 503 504 /50x.html;
location = /50x.html {
  root  /home/username/sites/myProject/current/errorPages;
}
location = /image.png {
  root /home/username/sites/myProject/current/errorPages/50x_files;
}

然后将图像简单地引用为 src="image.png"。这同样适用于您的 css 和 js!

编辑:我找到了一种方法让它适用于一堆文件:

error_page 500 502 503 504 /errorPages/50x.html;
location /errorPages/ {
  root  /home/username/sites/myProject/current/;
}

这样,errorPages 文件夹中的所有文件都将可用(例如 src="/errorPages/image.png"),因为 nginx 将尝试匹配所有“/errorPages/...”。有必要删除“location”之后的“=”(因为它不再是完全匹配)和“internal;”在其中(因为其他资源将从 html 中调用,而不是在 nginx 内部调用)。

关于html - 带有 css 和图像文件的 nginx 自定义错误页面 502,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610979/

相关文章:

CSS3 双下拉边框?

linux - 403 禁止 : nginx is blocking default page

html - 全宽响应式网站正文图片

html - 围绕中心 CSS 动画旋转的两个 div

html - div 100% 高度减去固定大小

node.js - 与 'ws://.../socket.io/' 的 WebSocket 连接失败:WebSocket 握手期间出错:net::ERR_CONNECTION_RESET

linux - Nginx 上游健康检查模块

html - div 填充剩余空间

html - 浏览器之间的地理定位精度差异

html - 难以为响应定制 Bootstrap 导航栏