404 not found表示服务器找不到请求的资源,502 bad gateway表示网关(如nginx)无法从后端服务获取有效响应;前者是资源缺失问题,后者是网关与后端通信失败。

当你在浏览器里看到“404 Not Found”或“502 Bad Gateway”,表面都是打不开页面,但背后的问题根源完全不同:一个是服务器明确告诉你“我要找的东西压根不存在”,另一个是服务器自己卡住、转头向你摊手说“我问后端要数据,它没理我”。
404 Not Found:资源根本不在那儿
第一步:确认请求路径是否拼写正确,包括大小写、斜杠结尾、文件扩展名(如 /about.html 写成 /about.htm 就会触发404)。
第二步:登录服务器,用 ls -l 或 find /var/www/html -name "xxx" 检查该路径下真实存在的文件或目录——【如果文件确实被删了、没部署、或路径没同步到上线环境,404就必然出现】。
第三步:如果是单页应用(如 Vue/React),检查 Nginx 或 Apache 是否配置了 fallback 机制(例如 Nginx 的 try_files $uri $uri/ /index.html;),否则前端路由跳转会直接返回404。
502 Bad Gateway:Nginx 和后端断联了
方法一:检查后端服务进程是否存活。运行 systemctl status php-fpm 或 curl -v http://127.0.0.1:8080/health,如果连本地都通不了,说明后端已崩或未启动。
方法二:核对 Nginx 的 proxy_pass 地址和端口是否与后端实际监听地址一致。常见错误是写成 proxy_pass http://127.0.0.1:9000;,但后端其实监听在 :9001 或 localhost(DNS 解析失败)。
方法三:查看 Nginx 错误日志:tail -f /var/log/nginx/error.log,里面常出现 connect() failed (111: Connection refused) 或 upstream prematurely closed connection ——这说明 Nginx 根本连不上后端,不是代码问题,是连接层断了。
怎么一眼区分是404还是502
打开浏览器开发者工具 → Network 标签页 → 点击报错请求 → 查看 Response Headers 中的 Status 字段:显示 404 Not Found 就是资源缺失;显示 502 Bad Gateway 就是网关转发失败。
注意:如果网站用了 CDN,CDN 节点可能把 502 缓存成 404 返回给用户,此时需绕过 CDN 直连源站复现问题。











