以下是Ubuntu Nginx常见错误码及解决方法:
- 400 Bad Request(请求格式错误):检查客户端请求格式,确保HTTP头或Body符合规范。
- 401 Unauthorized(未授权):配置Nginx的
auth_basic或auth_request模块,提供有效认证信息。
- 403 Forbidden(禁止访问):
- 检查Nginx配置中的
user权限,确保对目标文件/目录有读取权限。
- 使用
sudo chown -R www-data:www-data /path/to/directory修改权限。
- 404 Not Found(资源未找到):
- 确认请求URL正确,检查Nginx配置中的
location块和文件路径。
- 若为反向代理,确保上游服务正常运行且端口配置正确。
- 500 Internal Server Error(服务器内部错误):
- 查看Nginx错误日志
/var/log/nginx/error.log,定位后端应用或配置问题。
- 检查后端服务(如PHP-FPM、Python应用)是否正常运行。
- 502 Bad Gateway(上游响应无效):
- 确保上游服务器(如API、数据库)可访问,检查代理配置中的
proxy_pass地址和端口。
- 调整
proxy_connect_timeout和proxy_read_timeout参数。
- 503 Service Unavailable(服务不可用):
- 检查服务器资源(CPU、内存)是否过载,优化或扩容。
- 若为维护状态,可通过Nginx配置
return 503并添加维护页面。
- 504 Gateway Timeout(网关超时):
- 增加上游请求超时时间,如
proxy_connect_timeout 60s;。
- 检查网络连接,确保Nginx与上游服务器通信正常。
通用排查步骤:
- 查看错误日志:
sudo tail -f /var/log/nginx/error.log。
- 检查配置语法:
sudo nginx -t,修复语法错误。
- 排查端口占用:
sudo netstat -tuln | grep <端口>,修改冲突端口。
- 验证权限:确保Nginx用户(通常为
www-data)对相关文件/目录有访问权限。