“边缘清洗 + 源站隐身 + Nginx 兜底” 三层纵深
参考资料
- “回源协议和端口”决定了 ESA 边缘节点向你的源站服务器发起请求时,用 HTTP 还是 HTTPS,以及连到哪个端口。
- HTTP/2 和 HTTP/3 是给访客用的,HTTP/2 回源是给源站用的
- 开启 HSTS 后,可以减少第一次访问被劫持的风险,ESA 将响应 HSTS 头部:Strict-Transport-Security。
- 针对“流氓”爬虫,核心策略是 “拒绝礼貌,直接开火”。robots.txt 对它们形同虚设,必须在 Nginx 或 ESA 层面主动拦截。
- 阿里云 ESA(边缘安全加速)的“托管 DCV”功能。
- “回源协议和端口”决定了 ESA 边缘节点向你的源站服务器发起请求时,用 HTTP 还是 HTTPS,以及连到哪个端口。
- 阿里云 ESA 的 SNI 白名单功能的核心机制
- 强制校验源站服务器返回的 SSL/TLS 证书是否合法有效
“边缘清洗 + 源站隐身 + Nginx 兜底” 三层纵深
针对 Fresns 的防攻击,核心是 “边缘清洗 + 源站隐身 + Nginx 兜底” 三层纵深。你的 PHP 8.3 进程很宝贵,必须在请求打到它之前就把攻击拦下来。
☁️ ESA 边缘防护(第一道闸)
这是最有效的一层,依托阿里云全球节点清洗流量。
DDoS 基础防护:ESA 默认开启,可抵御不高于 10 Gbps 的流量攻击。
智能限频:根据站点过去 7 天的访问基线自动计算频次上限,有效防止突发 CC 攻击。
Bot 管理:将“绝对是 Bot”执行拦截,“可能是 Bot”设为观察,避免误伤正常用户。
🛡️ 源站隐身(让攻击者找不到 IP)
这是防攻击的生命线。如果攻击者直接拿到你的服务器 IP,ESA 的防护就形同虚设。
开启 ESA 源站防护:在 ESA 控制台开启后,系统会给出收敛后的回源节点 IP 列表。将这些 IP 段添加到你源站防火墙(如 ECS 安全组)的白名单中,拒绝其他所有公网 IP 直接访问。
关键提醒:务必确保
access.log里的$remote_addr不再是攻击者的真实 IP,而是 ESA 节点 IP,说明流量确实走了 ESA。
⚙️ Nginx 源站兜底(最后防线)
万一有请求穿透,在 Nginx 层做最后挣扎,保护 PHP-FPM。
限制连接数与频率:在
http块定义共享内存区,防止单 IP 耗尽并发。limit_conn_zone $binary_remote_addr zone=perip:10m; limit_req_zone $binary_remote_addr zone=perreq:10m rate=10r/s;
在
server块应用:limit_conn perip 10; limit_req zone=perreq burst=20 nodelay;
隐藏版本号与敏感路径:添加
server_tokens off;,并拒绝访问.git、.env等敏感文件。
💡 排查建议
如果你发现 ESA 拦截规则似乎不生效,首先去 Nginx 的 access.log 里看 $remote_addr。如果是攻击者的真实 IP,说明流量绕过了 ESA 直接打到了源站,必须立刻配置源站白名单。
如果你有具体的攻击日志特征(如特定的恶意 UA 或 Referer),可以发出来,我帮你写针对性的 ESA 拦截规则。
时间:2026-09-28 12:11:07
来源:https://yun.ciilii.com/
