.ht* 文件保护
自动拒绝访问 .htaccess、.htpasswd 等敏感文件,返回 403。
LiteHttpd 是 LLStack 的核心 Web 服务器引擎,基于 OpenLiteSpeed 深度增强,实现了 Apache 级别的兼容性与 LiteSpeed 级别的性能。
LiteHttpd 由以下组件构成:
LiteHttpd 支持 80+ .htaccess 指令,涵盖以下类别:
| 类别 | 典型指令 | 说明 |
|---|---|---|
| Headers | Header set, Header append | 自定义 HTTP 响应头 |
| Access Control | Require, Order, Allow/Deny | IP 和用户访问控制 |
| Auth | AuthType, AuthUserFile | HTTP 基本/摘要认证 |
| PHP 配置 | php_value, php_flag, php_admin_value | per-目录 PHP 设置 |
| Rewrite | RewriteRule, RewriteCond | URL 重写规则 |
| Conditions | <If>, <ElseIf>, <Else> | 条件配置块 |
| Cache | ExpiresActive, ExpiresByType | 浏览器缓存控制 |
| WordPress 安全 | <Files wp-config.php> | WordPress 核心文件保护 |
以下基准测试基于相同硬件配置(2 vCPU / 4GB RAM / SSD):
| 指标 | Apache | Stock OLS | LiteHttpd |
|---|---|---|---|
| 静态文件 RPS | 23,909 | 63,140 | 58,891 |
| PHP RPS (wp-login) | 274 | 258 | 292 |
| 内存占用 | 818 MB | 654 MB | 689 MB |
| .htaccess 兼容 | 10/10 | 6/10 | 10/10 |
| wp-config.php 保护 | 403 | 200 (风险) | 403 |
LiteHttpd 使用 LSAPI(LiteSpeed Server API) 而非传统的 php-fpm 来执行 PHP:
| 特性 | LSAPI | php-fpm |
|---|---|---|
| 上下文切换 | 少 30% | 标准 |
| 内存共享 | 支持 shared memory | 独立进程 |
| 进程管理 | Web 服务器直接管理 | 独立进程池 |
| 通信方式 | Unix socket / 管道 | TCP/Unix socket |
LSAPI 通过共享内存机制减少了 Web 服务器与 PHP 进程之间的数据拷贝,在高并发场景下优势明显。
从 Apache 迁移到 LiteHttpd 时,可以使用内置工具自动转换配置:
使用 readApacheConf 解析
LiteHttpd 内置的 readApacheConf 功能可以读取 Apache 的 httpd.conf 和 VirtualHost 配置。
运行 litehttpd-confconv 转换
litehttpd-confconv --input /etc/httpd/conf/httpd.conf --output /usr/local/litehttpd/conf/工具会自动将 Apache 配置指令映射为 LiteHttpd 原生配置格式。
验证并调整
转换后检查配置文件,确认虚拟主机、SSL 证书路径和 PHP 处理器设置正确。
LiteHttpd 在 OpenLiteSpeed 基础上增加了多层安全防护:
.ht* 文件保护
自动拒绝访问 .htaccess、.htpasswd 等敏感文件,返回 403。
CRLF 注入防御
过滤请求头中的回车换行字符,防止 HTTP 响应拆分攻击。
暴力破解防护
内置请求频率限制,防止针对登录页面的暴力破解攻击。
路径遍历拦截
阻止 ../ 等路径遍历尝试,防止目录逃逸攻击。
LiteHttpd 通过官方 RPM 仓库分发:
# 添加 LiteHttpd 仓库dnf config-manager --add-repo https://rpms.litehttpd.com/el$releasever/litehttpd.repo
# 安装 LiteHttpddnf install litehttpd