Web服务器不直接处理网络层ACL,子网级访问授权应在基础设施层(如云平台网络ACL、Nginx反向代理、系统防火墙)配置;云ACL需绑定子网并设置优先级规则,Nginx需按顺序使用allow/deny,系统防火墙作补充;禁在应用代码中校验子网。
Web服务器本身不直接处理网络层ACL,真正的
子网
级访问授权需在基础设施层(如负载均衡器、云平台网络ACL、反向代理或边界路由器)配置,而非Web应用内部。关键在于把“允许哪些子网访问Web服务”这个策略,落在流量抵达Web服务器之前的位置。
云平台网络ACL(推荐用于公有云环境)
以京东云、华为云等为例,网络ACL是VPC级别的无状态防火墙,可绑定到子网,控制进出该子网的流量:
为Web服务器所在子网(如
10.0.0.0/24
)绑定专属ACL
添加入站规则:优先级高(如100)允许源IP为指定子网(如
172.16.10.0/24
)的TCP 80/443端口流量
添加默认拒绝规则(优先级低,如65535):
deny all
,确保未显式放行的子网无法进入
出站规则通常保持宽松(如允许全部),除非有特殊审计要求
Nginx反向代理层配置(适用于自建架构)
若Web服务前部署了Nginx,可在
或
块中用
/
指令实现子网控制:
电子商务网站首页幻灯片
电子商务网站首页幻灯片是一款基于jQuery实现的适合电子商务网站或者企业产品展示功能特效。
下载
写法示例:
注意顺序:
allow必须在deny all之前
,否则所有请求都会被拦截
该方式依赖Nginx解析真实客户端IP;若前端有CDN或SLB,需确保
头可信,并配合
使用
服务器系统防火墙(补充防护)
作为最后一道防线,可在Web服务器操作系统层面启用iptables(Linux)或firewalld限制来源子网:
例如放行研发网段访问HTTP服务:
务必在最后加一条拒绝规则:
避免仅依赖此层——它不处理已建立连接后的会话劫持,也不替代网络层隔离
不建议的做法
直接在Web应用代码里做子网判断(如PHP中检查
)存在明显缺陷:
绕过容易:攻击者伪造X-Forwarded-For或直连后端端口即可跳过校验
性能开销:每次请求都执行逻辑判断,增加应用负担
维护困难:权限策略与业务代码耦合,难以统一审计和变更
serverlocationallowdenylocation / {
allow 192.168.5.0/24;
allow 10.20.30.100;
deny all;
}X-Forwarded-Forset_real_ip_fromiptables -A INPUT -s 192.168.100.0/24 -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j DROP$_SERVER['REMOTE_ADDR']