apache支持代理和负载均衡必须启用mod_proxy、mod_proxy_http、mod_proxy_balancer、mod_slotmem_shm和mod_lbmethod_bybusyness五大模块,缺一不可,否则负载均衡状态不同步或502错误;需在配置中显式loadmodule并用httpd -t验证语法后重启服务。
要让 apache http server 支持代理和负载均衡,必须显式启用一组核心模块。这些模块不是默认全部开启的,需手动确认并加载。
检查并启用必需模块
运行以下命令查看当前已启用的模块:
httpd -M | grep -E 'proxy|balancer|slotmem'确保输出中包含以下模块(缺一不可):
- mod_proxy.so:代理功能基础模块
- mod_proxy_http.so:支持 HTTP 协议反向代理
- mod_proxy_balancer.so:提供负载均衡集群管理能力
- mod_slotmem_shm.so:关键!用于跨进程共享 balancer 状态,否则健康检查在多 worker 场景下失效
- mod_lbmethod_bybusyness.so(推荐):按活跃连接数调度,比轮询更适应动态负载
在配置文件中加载模块
编辑 httpd.conf(或 /etc/httpd/conf.modules.d/00-proxy.conf 等模块配置目录下的文件),取消以下行的注释(或直接添加):
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
- LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
- LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
注意:mod_proxy_ajp.so 仅在后端用 AJP 协议(如 Tomcat)时才需启用;mod_proxy_connect.so 和 mod_proxy_ftp.so 一般无需启用。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
验证模块加载成功
修改后执行:
httpd -t若返回 Syntax OK,再重启服务:
sudo systemctl restart httpd再次运行 httpd -M 确认所有目标模块状态为 shared。









