操作
发布信息¶
- 版本: 1.4.77
- 上一版本: 1.4.76
- 分支: 1.4
- 状态: 稳定
- 发布目的: 错误修复
- 发布经理: gstrauss
- 发布日期: 2025-01-10
来自 1.4.76 的重要变更¶
- 更强的 TLS 默认设置: MinProtocol TLSv1.3; 实验性 TLS ECH 支持
行为变更¶
- lighttpd TLS 默认设置: MinProtocol TLSv1.3
其他配置仍受支持,但不是默认配置。
以前的默认设置: MinProtocol TLSv1.2
当前的默认设置: MinProtocol TLSv1.3 - lighttpd TLS 默认设置现在限制 TLSv1.3 组
为 IANA "推荐" 的集合: "X25519:P-256:P-384:X448"
(https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8)
使用 ssl.openssl.ssl-conf-cmd += ("Groups" => "...") 配置组/曲线 - server.error-handler-404 仅对 404 生效
(历史错误: server.error-handler-404 对 404 和 403 都生效)
自 lighttpd 1.4.40 (2016 年 7 月发布) 起,server.error-handler 可用于
为 4xx 和 5xx 响应生成动态错误页面。
自 lighttpd 1.4.56 (2020 年 11 月发布) 起,magnet.attract-response-start-to
是一种额外的、高性能的生成动态错误页面的机制。
https://wiki.lighttpd.net/mod_magnet - doc/config/lighttpd.conf 已重命名为 doc/config/lighttpd.annotated.conf
而 doc/config/lighttpd.conf 现在是一个更简单的头文件,包含
lighttpd.annotated.conf。lighttpd 包维护者必须检查他们的
打包脚本,并包含 lighttpd.conf 和 lighttpd.annotated.conf
(例如 doc/config/*.conf) 以及 doc/config/conf.d/*.conf。
下载¶
- https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.77.tar.gz
- GPG 签名: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.77.tar.gz.asc
- SHA256:
5321755fb15ca20084b7b12c26f8991278907fd5a2597b1bdc061a29f7c5ba5d
- https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.77.tar.xz
- GPG 签名: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.77.tar.xz.asc
- SHA256:
acafabdbfa2267d8b6452d03d85fdd2a66525f3f05a36a79b6645c017f1562ce
- SHA256 校验和: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.77.sha256sum
- SHA512 校验和: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.77.sha512sum
来自 1.4.76 的变更¶
- [构建] packdist.sh 便利命令调整
- [构建] 移除旧的 distribute.sh.in 脚本
- [核心] 将 .torrent 添加到 mimetype.assign 内置默认值
- 恢复 "[核心] Linux SPARC 上的 POLLRDHUP 特殊值" (修复 #3251)
- [核心] Linux SPARC 上的 POLLRDHUP 特殊值 (修复 #3251)
- [mod_ssi] 将 ssi_val_tobool 重命名为 ssi_val_to_bool
- [多模块] 重命名 config_plugin_value_tobool
- [核心] 修复平滑关机超时处理
- [核心] 预处理器选项以强制使用加密库
- [cmake] 修复 pcre2 检测中的一些拼写错误
- [测试] 区分正则表达式测试值与字符串
- [测试] 修复 Fedora zlib-ng-compat 下的 deflate 测试
- [核心] 适用于 QNX7.1/8.0 的移植
- [文档] 移除旧的 doc/scripts/spawn-php.sh
- [mod_deflate] 将 zstd 最大窗口大小限制为 8 MB
- [mod_accesslog] 忽略无标签的格式说明符
- [autotools] 为 libdbi 添加 pkgconf 测试
- [mod_webdav] 使用 SQLITE_PREPARE_PERSISTENT
- [mod_webdav] 在初始化时调用 sqlite3_initialize()
- [mod_webdav] 禁用双引号字符串字面量
- [文档] 移除旧的 doc/scripts/spawn-php.sh
- [核心] 澄清插件版本不匹配的错误消息
- [mod_dirlisting] 添加深色模式支持
- [autotools] 优先使用 libpcre.pc 而非 pcre-config
- [核心] 监听套接字上的 server.ip-transparent 选项
- [核心] 拒绝 HTTP/1.x 请求行 URI 尾部空格
- [核心] 移除 http_request_parse_proto_loose()
- [核心] 严格要求分块头部使用 CRLF
- [核心] 严格要求所有分块头部使用 CRLF
- [多模块] 消除 Coverity 误报
- [核心] http_request_check_uri_strict 优化
- [h2] 修复 log_monotonic_secs 为零时虚假连接重置问题
- [mod_dirlisting] 修复 ?json 输出;发出 JSON 列表 (修复 #3256)
- [mod_dirlisting] ?json 的次要优化
- [mod_auth] 修复使用 nonce_secret 时的摘要随机数验证
- [核心] 如果 JIT 不可用则省略 pcre2 JIT 错误跟踪
- [文档] 重命名示例配置 lighttpd.annotated.conf
- [文档] 简化 doc/config/lighttpd.conf 条目
- [文档] 使用更短的 https://wiki.lighttpd.net/ URL
- [CI] CI 依赖维护
- [meson] 使用 pkg-config 查找 mbedtls 3.6
- [meson] 更新 FORCE_* 变量以选择加密库
- [核心] 移除长期未使用的 #ifdef USE_ALARM
- [核心] 避免过于严格的编译器警告 (修复 #3262)
- [mod_auth] HTTP Digest 和 HTTP/2 扩展 CONNECT
- [mod_dirlisting] 按大小精确值排序 (修复 #3264)
- [mod_dirlisting] 使用 data-value 排序 mtime (#3264)
- [CI] 启用 Solaris 构建 (现在不再那么慢)
- [核心] 从 tests/lighttpd.conf 移除 mimetype.assign
- [CI] 调整 Solaris CI 构建
- [文档] 更新 create-mime.conf.pl 压缩类型
- [文档] 更新 doc/config/conf.d/mime.conf
- [CI] 调整 Solaris CI 构建
- [核心] 移除 ioctl() RNDGETENTCNT 的类型转换
- [核心] 更新 ls-hpack
- [核心] light_isprint(), light_iscntrl()
- [核心] 性能: 更紧凑的字符串编码、转义循环
- [mod_wstunnel] Sec-WebSocket-Protocol: binary
- [核心] light_iscntrl_or_utf8_invalid_byte()
- [核心] 选项: 允许错误日志中使用未转义的 UTF-8 (修复 #3268)
- [systemd] 在信号前测试 ExecReload 中的配置
- [核心] 配置解析: 检测无效键
- [TLS] 允许组/曲线列表
- [mbedtls] 重新配置时重置 crt_profile
- [mod_mbedtls] 保护 mbedtls 对 RSA_PSK 的使用
- [mod_nss] 添加 ssl.openssl.ssl-conf-cmd Ciphersuite
- [mod_wolfssl] 拼写错误
- [mod_nss] 实验性组/曲线的版本检查
- [mod_wolfssl] 缺少 return
- [测试] 不测试精确的 zlib 压缩大小
- [测试] 整合测试值比较逻辑
- .github/workflows/dependabot.yml "github-actions"
- [CI] dependabot.yml 名称
- [CI] ci.yml pull_request 类型
- [CI] 将文件移动到 .github/dependabot.yml
- [多模块] 避免将正文发送到 GW_AUTHORIZER (修复 #3272)
- [mod_magnet] 使用本地 sys-dirent.h (可移植性)
- [mod_magnet] 为 mod_magnet.c 添加代码头
- [TLS] 如果不在 SOCKET 条件下,则跳过 SSL_CTX 初始化
- [mod_openssl] ssl.ech-opts, 加载 ECH 密钥
- [mod_openssl] ssl.non-ech-host 选项以要求 ECH
- [mod_openssl] 释放 SSL_ech_get1_status() 的内存
- [mod_openssl] ECH: 使用新的 OSSL_ECHSTORE API
- [mod_openssl] ECH: 刷新 4 年前的补丁
- [mod_openssl] ECH: 与 OpenSSL ECH API 的兼容性补丁
- [mod_openssl] 对于仅 ECH 的情况省略 OSSL_ECH_FOR_RETRY
- [mod_openssl] ECH: 当前密钥的 OSSL_ECH_FOR_RETRY
- [mod_openssl] ECH: boringssl 支持
- [TLS] 将 TLS 默认设置修改为 MinProtocol TLSv1.3
- [TLS] 使用 TLSv1.3 组 X25519:P-256:P-384:X448
- [CI] macOS: mariadb-connector-c 仅限 keg
- [mod_openssl] 跳过以 '.' 开头的 *.ech 文件
- [mod_openssl] ECH: 将指令重命名为 ECH 术语
- [核心] server.error-handler-404 仅处理 404
- [mod_magnet] 消除 Coverity 误报
- [mod_openssl] ECH: 使用相同的 (调试) CGI 变量名
- [mod_openssl] ECH: 仅在修改后重新加载密钥
- [mod_openssl] ECH: 移除与 OpenSSL ECH API 的兼容性补丁
- [核心] 如果是 pathinfo,则重置 cond 缓存项 URL
- [mod_openssl] 当缓冲区不为 NULL 时使用 BUF_PTR_LEN
- [mod_openssl] ECH: 仅 ECH 主机的代码注释
- [核心] 导入 xxHash v0.8.3
- [autoconf] 更新 ax_prog_cc_for_build.m4