nginx 该报502错误确显示404

现象

nginx转发后端服务报错,应是502,但是返回值却是404

分析

  • 查看nginx配置文件,有如下一段
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
  • 报错404是因为返回 50* 之后,会转到 /50x.html 页面,而找不到50x.html报的 404错误

解决

  • 方法一
    将上边那一段整个注释掉

  • 方法二
    在根目录下添加 50x.html页面

测试

  • nginx配置文件中添加或修改为如下内容:
server {
listen 80;
server_name web80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
add_header Cache-Control no-store;
}
# 写一个location,转发给不存在的页面。
location /test/ {
proxy_pass http://127.0.0.1:82/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
  • 测试1
    访问 IP/test时,本来应该是500,却报错404

  • 测试2
    在根目录添加一个 50x.html文件,内容为"erro 50x",访问 IP/test ,显示 50x.html的内容

image.png

  • 测试3
    注释掉错误转发一段,返回500

image.png

posted on   运维开发玄德公  阅读(57)  评论(0编辑  收藏  举报  

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示