nginx - nginx 没有显示带有 uwsgi 的自定义错误页面
问题描述
我正在尝试为 502 和 504 答案添加自定义错误页面。目前,我的站点有以下 nginx 配置(其他配置文件不变):
server {
listen 80;
listen [::]:80;
server_name 10.12.112.163;
add_header X-UA-Compatible "IE=Edge,chrome=1";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
charset utf-8;
try_files $uri @icons;
error_page 502 504 /502.html;
location = /502.html {
root /home/dmoj/site;
internal;
}
location @icons {
root /home/dmoj/site/resources/icons;
error_page 403 404 = @uwsgi;
log_not_found off;
}
location @uwsgi {
uwsgi_read_timeout 600;
uwsgi_pass unix:///tmp/dmoj-site.sock;
include uwsgi_params;
}
}
当我停止 uwsgi 并将浏览器转到 10.12.112.163 时,会显示 nginx 的默认“502 Bad Gateway”消息,但是当我转到 10.12.112.163/502.html 时,我的页面显示完美。
我也在没有internal
指令的情况下对其进行了测试,结果是一样的。
解决方案
不确定它是否记录在某处,但我认为error_page
不能链接到另一个error_page
.
在您的情况下,这与语句error_page 404
的行为非常相似。try_files
有关详细信息,请参阅此文档。
所以你的链式error_page
可以被替换,如下所示:
location @icons {
root /home/dmoj/site/resources/icons;
try_files $uri @uwsgi;
log_not_found off;
}
推荐阅读
- c# - 从 XSLT 调用我的控制器上的操作
- tfs - TF400898: 发生内部错误。活动 ID:5c6a2800-2077-497d-913d-5fbc0cf5e4a2
- r - ggarrange 拉伸 ggplot 对象以占用空白空间
- python - 如何在python中创建不相等的变量
- c# - .NET Core 中抽象类的依赖注入
- c# - Core 3.x LINQ -> DateTime 和字符串比较错误
- amazon-web-services - 安装 virtualenv 后无法访问 ec2 实例上的 jupyter notebook
- ios - 无法安装 PinterestSDK
- javascript - 如何在执行 Test cafe 脚本时操作 URL
- algorithm - 甘特图问题的算法/编程方法