温馨提示×

Debian Apache日志中的状态码有哪些

小樊
32
2025-12-08 12:27:42
栏目: 智能运维

状态码分类与含义

  • 1xx 信息性:表示请求已被接收,需继续处理。常见:100 Continue101 Switching Protocols
  • 2xx 成功:请求已成功被服务器接收、理解并处理。常见:200 OK201 Created202 Accepted204 No Content206 Partial Content
  • 3xx 重定向:需要进一步操作以完成请求。常见:301 Moved Permanently302 Found304 Not Modified300 Multiple Choices
  • 4xx 客户端错误:请求存在错误,服务器无法处理。常见:400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed408 Request Timeout413 Payload Too Large414 URI Too Long429 Too Many Requests
  • 5xx 服务器错误:服务器处理请求时发生错误。常见:500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Timeout

在Debian中的查看位置与示例

  • 访问日志默认路径:/var/log/apache2/access.log;错误日志默认路径:/var/log/apache2/error.log
  • 访问日志常见格式为 Common Log Format(CLF)Combined Log Format,其中状态码字段通常位于请求行之后,例如:
    • 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] “GET /apache_pb.gif HTTP/1.0” 200 2326
    • 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] “GET /apache_pb.gif HTTP/1.0” 200 2326 “http://www.example.com/start.html” “Mozilla/4.08 [en] (Win98;I ;Nav)”
  • 快速统计或定位特定状态码(如 404):
    • 统计访问日志中各状态码出现次数:awk '{print $9}' /var/log/apache2/access.log | sort | uniq -c | sort -nr
    • 查找所有 404grep ' 404 ' /var/log/apache2/access.log
    • 按时间段筛选后再查 404(示例为 2021-09-01):
      awk '$4 >= "[01/Sep/2021:00:00:00" && $4 < "[02/Sep/2021:00:00:00]" {print}' /var/log/apache2/access.log | grep ' 404 '
  • 提示:日志路径与格式可通过 CustomLogErrorLog 等指令自定义,若与上述路径或格式不一致,请以实际配置为准。

快速排查建议

  • 大量 4xx:优先检查资源是否存在(如 404)、是否误用请求方法(如 405)、是否触发限流(如 429)、请求体或 URI 是否过大(如 413/414)。
  • 大量 5xx:关注 500(后端代码/配置错误)、502/504(网关/上游超时或异常)、503(服务不可用/过载或维护)。
  • 结合 error.log 查看具体错误堆栈与模块提示,可更快定位根因。

0