关键在于协同优化TLS握手、连接复用与传输协议:强制启用TLS 1.3并禁用旧协议,开启Session Tickets与OCSP装订,配置shmcb会话缓存及300秒超时,HTTPS虚拟主机中启用KeepAlive并与后端对齐,同时调优TCP缓冲区并启用HTTP/2和Brotli压缩。

Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
加快 TLS 握手过程
HTTPS 慢,常卡在握手环节。TLS 1.3 是目前最有效的提速手段:
– 强制启用 TLS 1.3,禁用老旧协议:
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3
– 开启会话票据(Session Tickets),比 Session ID 更轻量:
SSLSessionTickets On
– 启用 OCSP 装订,避免客户端额外查询吊销状态:
SSLUseStapling on
SSLStaplingCache "shmcb:/var/cache/apache2/ssl_stapling(128000)"
提升连接复用效率
避免每次请求都新建 TLS 连接,靠的是会话缓存和 KeepAlive 协同:
– 配置共享内存会话缓存(路径需提前创建并授权):
SSLSessionCache shmcb:/var/cache/apache2/ssl_scache(512000)
SSLSessionCacheTimeout 300
– 在 HTTPS 虚拟主机中启用长连接:
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100
– 若反向代理后端(如 Tomcat),务必同步调整其 keepAliveTimeout 和 maxKeepAliveRequests,防止一方提前断连
优化底层传输通道
Apache 不管 TCP 缓冲区,但 HTTPS 数据走的就是 TCP,瓶颈常在这里:
– 调大内核接收/发送缓冲上限(需同时设 rmem_max/wmem_max):
net.ipv4.tcp_rmem = "4096 524288 16777216"
net.core.rmem_max = 16777216
– 上传场景同样要调 tcp_wmem 和 wmem_max
– 缓存大小按实际 QPS 估算:QPS 300+ 建议 SSLSessionCache ≥10MB;超 20MB 易挤占其他模块内存
配合前端资源加速
HTTPS 加速不只是协议层,静态资源处理同样影响首屏体验:
– 启用 Gzip/Brotli 压缩(推荐 DeflateCompressionLevel 6):
AddOutputFilterByType DEFLATE text/html text/css application/javascript
– 设置浏览器缓存策略,减少重复请求:
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
– 确保 HTTP/2 已启用(Protocols h2 http/1.1),它天然支持多路复用,与 KeepAlive 共存不冲突

















