好的,我们把它弄坏了。而且,修复它比预期花费了更多时间。

无论如何,等待是值得的。我们在此版本中修复了许多错误。完整的更改列表请参见下方。

针对错误 #948 的最终修复改变了 server.error-handler-404 的行为。过去,lighttpd 尝试将 CGI/FastCGI/SCGI 应用程序生成的 404 响应发送到配置的处理程序。按照当前处理 404 处理程序的插件设计,如果子请求使用了与原始请求相同的后端(FastCGI -> FastCGI 404 处理程序),则此操作会失败。从 1.4.17 版本开始,只有原始请求会触发 404 处理程序。这意味着您的应用程序必须自行生成 404 响应的内容。您不能再依赖 404 处理程序来处理动态生成的 404 响应。

下载

  • lighttpd-1.4.17.tar.gz
    (sha1sum: f86684db6979c363d74689a51c3e8a7af066025e
    md5sum: 7172c39c2a166fe7f9ab6df30fa4298f)
  • lighttpd-1.4.17.tar.bz2
    (sha1sum: e7684d29b2a42bc0628dc59b05741fc5fb5f699b
    md5sum: 85c99c2d6baf8ad9e38e6267efe7d9aa)

感谢您使用 lighttpd! :)

变更

  • 在 mod_dirlisting 中增加了 dir-listing.set-footer (#1277)
  • 增加了将 SIGTERM 和 SIGINT 的 UID 和 PID 发送到日志中的功能
  • 修复了 mod_dirlisting 中硬编码的字体大小问题 (#1267)
  • 修复了 32/64 位平台上 ETag 长度不同的问题 (#1279)
  • 通过禁用压缩修复了小于 128 字节文件的压缩问题 (#1241)
  • 修复了 MySQL 服务器重连问题 (#518)
  • 修复了 HTTP/1.0 动态内容禁用的 Keep-Alive 问题 (#1166)
  • 修复了 mod_cgi 中混合 EOL 序列导致的崩溃问题
  • 修复了键比较问题 (#1287)
  • 修复了头部值中包含无效字符的问题 (#1286)
  • 修复了时间戳损坏时无效的“304 Not Modified”响应问题
  • 修复了在 BSD 系统上,使用 sendfile() 的收缩文件导致的无限循环问题 (#1289)
  • 修复了 mod_status 中 ?auto 的计数器溢出问题 (#909)
  • 修复了嵌套条件语句的缓存过于激进的问题 (#41)
  • 修复了在 BSD 系统上,Unix 套接字路径检查中可能存在的溢出问题 (#713)
  • 修复了 1xx, 204 和 304 响应中额外的 Content-Length 头部问题 (#1002)
  • 修复了重复的 If-Modified-Since 处理导致返回 304 的问题
  • 修复了从 NPH 脚本中提取状态码的问题 (#1125)
  • 修复了 prctl() 使用问题 (#1310)
  • 移除了检查 passwd 文件是否存在的配置 (#1188)
  • 修复了当 etag 被禁用但客户端发送了一个时发生的崩溃问题 (#1322)
  • 修复了 mod_alias 中释放配置时发生的崩溃问题
  • 修复了来自 1.4.16 版本的 server.error-handler-404 损坏问题 (#1270)
  • 修复了从动态内容进入 404 处理程序的问题 (#948)
  • 增加了用于基于 FAM 的 stat-cache 的更多调试信息
  • 在示例配置中使用了更多类似 LSB 的路径 (#1242)