不同场景下的错误类型
1.直接请求错误的端口(无服务监听)
结果:不是 HTTP 错误,而是 TCP 连接失败
plain
连接被拒绝(Connection Refused)
ERR_CONNECTION_REFUSED
浏览器会显示"无法访问此网站",根本没有 HTTP 响应,因为 TCP 连接都建立不起来。
2.端口写错,但该端口有其他服务运行
结果:可能返回 404 或其他错误
例如:本该请求localhost:8080(API服务),却写成了localhost:80(Web服务器)
- Web 服务器能收到请求,但找不到对应路径 → 返回 404
- 或者返回 400/403 等,取决于该服务的配置
3.通过反向代理访问(后端端口配置错误)
结果:返回 502 Bad Gateway
plain
客户端 → Nginx(反向代理)→ 后端服务(端口配置错误,连不上)
↓
返回 502
这是 502 最典型的场景:代理服务器能接收请求,但无法连接到后端服务。
总结对照表
| 场景 | 错误类型 |
|---|---|
| 端口无服务监听 | TCP 连接拒绝(非 HTTP 错误) |
| 端口有其他服务 | 404 / 400 / 403(取决于该服务) |
| 反向代理后端端口错误 | 502 Bad Gateway |
实际开发建议
如果你在排查问题:
- 看到 502 → 检查反向代理的后端服务配置(端口、地址是否正确)
- 看到 404 → 检查请求路径是否正确,或确认是否请求到了错误的服务
- 看到 连接被拒绝 → 检查目标端口是否有服务在监听