Apache mod_proxy“仅允许内网访问”需分正向与反向代理精准控制:正向代理启用proxy_connect模块并在<Proxy *>中白名单内网IP段,禁用Require all granted;反向代理在<Location>中配置ProxyPass并添加Require ip限制;两者均须关闭目录列表、隐藏服务器信息、防火墙限内网IP、禁用非必要模块。
apache 的 mod_proxy 默认不开放代理功能,要让它“仅允许内网访问”,关键不是简单开启模块,而是分场景精准控制访问来源——正向代理需限制客户端 ip,反向代理则要在代理路径前加 ip 访问控制。两者都必须禁用公网暴露、关闭默认放行。
正向代理:只让局域网设备用它上网
适用于内网浏览器手动配置代理(如填 192.168.1.10:80)访问外网的场景。必须启用 proxy_connect 模块,并在 <Proxy *> 块中白名单化内网段:
- 确认已启用模块:
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.so - 在
httpd.conf或虚拟主机配置中添加:ProxyRequests On<Proxy *>Require all deniedRequire ip 192.168.0.0/16Require ip 10.0.0.0/8Require ip 172.16.0.0/12</Proxy> - 若需支持 HTTPS 网站,额外加一行:
AllowCONNECT 443 8443(只允许可信端口建隧道) - 切勿出现
Require all granted,否则变成开放代理,存在严重安全风险
反向代理:只让内网用户访问后端服务
适用于把内网某台服务(如 http://192.168.1.20:8080)通过 Apache 暴露给局域网其他机器访问。控制点不在 mod_proxy 本身,而在 <Location> 容器中前置授权:
安全更新和维护 CLI Proxy API(CPA)部署与配置。用于 CPA 镜像升级、配置变更、认证目录兼容修复、上线验证与回滚。适用于用户提到“CPA 更新/升级/配置改了/容器重建/回滚”等场景。
- 用
<Location "/api/">包裹代理指令,再加Require ip:<Location "/api/">ProxyPass "http://192.168.1.20:8080/"ProxyPassReverse "http://192.168.1.20:8080/"Require ip 192.168.10.0/24 10.0.5.100</Location> - 不匹配的请求直接返回
403 Forbidden,根本不会发往后端 - 若需混合校验(比如某 IP 段只允许特定账号),用
<RequireAll>包住Require ip和Require user
通用加固项(必做)
无论正向还是反向,以下设置能堵住常见疏漏:
- 关闭目录列表:
检查httpd.conf中无Options Indexes,建议统一设为Options None - 隐藏服务器信息:
ServerSignature OffServerTokens Prod - 防火墙同步限制:
仅开放 Apache 监听端口(如 80 或 8080),且入站规则只允许可信内网 IP - 禁用非必要模块:
如mod_info、mod_status,防止被探测内部状态

















