为保护暴露在公网的云服务器ECS实例免受Web攻击,可以为其开启Web应用防火墙(WAF 3.0)防护。该模式无需更改现有网络架构或DNS配置,仅需配置引流端口,系统自动将ECS实例指定引流端口上的公网流量引导至WAF,进行安全检测与过滤,从而实现高效且透明的防护。
接入原理
WAF通过透明代理方式接入ECS实例。仅需配置ECS实例的引流端口,系统即自动调整底层网络路由策略,将该端口上的全部HTTP/HTTPS流量引导至WAF进行安全检测。WAF在拦截恶意请求后,将正常请求转发到源ECS实例。此模式的防护范围覆盖指定端口上的所有域名,并支持仅使用公网IP(无域名)的业务。
适用范围
若ECS 实例不满足以下要求,请使用CNAME接入。
实例公网要求:必须拥有公网IP地址(固定公网IP 或 EIP),不支持实例无公网IP但通过 NAT 网关提供公网访问的场景。
账号要求:ECS实例与WAF实例必须属于同一阿里云账号(已配置企业多账号统一管理除外)。
实例地域要求:
中国内地WAF:西南1(成都)、华北2(北京)、华北3(张家口)、华东1(杭州)、华东2(上海)、华南1(深圳)、华北1(青岛)。
非中国内地WAF:中国(香港)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、新加坡。
接入WAF时,Web业务可能出现短暂的秒级连接中断。建议选择业务低峰期进行操作,并在接入完成后关注业务状态。若客户端或服务具备有效的重连机制,此中断将自动恢复,不会对业务运行造成影响。
快速接入
进入控制台:
登录Web应用防火墙3.0控制台,在顶部菜单栏选择资源组和地域(中国内地、非中国内地),然后在左侧导航栏单击接入管理。选择云产品接入页签,在左侧云产品类型列表,选择云服务器ECS。
云产品授权(首次配置):
根据页面提示,单击立即授权,完成云产品授权。可以在RAM控制台的页面,查看创建的服务关联角色AliyunServiceRoleForWAF。
接入ECS实例:
在右侧列表,查看ECS实例及其WAF防护状态,找到目标ECS实例,在操作列单击立即接入。如果找不到目标实例,请单击页面右上角同步资产,若仍无法找到,说明实例不满足适用范围。

在选择需要添加的实例&端口区域,单击操作列的添加端口。在弹出的添加端口页面,根据网站的端口与协议类型进行配置。
说明每次仅能添加一个端口。如需添加多个端口,请重复该步骤逐一添加。
标准端口 (默认):Web 服务默认使用标准端口,访问时无需在域名后指定。
HTTP: 例如
http://yourdomain.com表示使用 80 端口。HTTPS:例如
https://yourdomain.com表示使用 443 端口。
非标准端口:若网站使用非标准端口,访问时端口号会直接显示在域名之后,格式为
域名:端口号。HTTP:例如
http://yourdomain.com:8080表示使用 8080 端口。HTTPS:例如
https://yourdomain.com:8443表示使用 8443 端口。
说明为确保准确,建议检查 Web 服务器(如 Nginx、Apache 等)的配置文件(如
nginx.conf),以获取最准确的端口信息。
HTTP网站
在端口区域,填写网站使用的端口。
在协议类型区域,选择HTTP。
HTTPS网站
在端口区域,填写网站使用的端口。
在协议类型区域,选择HTTPS。
如需自定义配置HTTP/2、TLS协议版本、加密套件、扩展证书(多个证书),请参见增强安全防护等级(HTTPS);否则,请保持其他配置项为默认设置。
在默认证书区域,选择证书上传方式:
手动上传:适用于证书未上传至阿里云数字证书管理服务(原 SSL 证书)的场景。
选择已有证书:从阿里云数字证书管理服务(原 SSL 证书)中选择已签发或已上传的证书。
手动上传
证书名称:为证书设置一个唯一的名称,不能与已上传的证书名称重复。
证书文件:请使用文本编辑器打开并粘贴 PEM、CER、CRT 格式的证书文本内容。
格式示例:
-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----格式转换:若证书是 PFX、P7B 等格式,请使用证书工具将其转换为 PEM 格式。
证书链:若包含中间证书,请按照 “服务器证书、中间证书” 的顺序拼接后粘贴。
私钥文件:请使用文本编辑器打开并粘贴 PEM 格式的私钥文本内容。
格式示例:
-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----
选择已有证书
从证书下拉列表中选择要上传到WAF的证书。
说明若WAF控制台提示“证书链完整性校验失败,使用该证书可能会影响您的业务访问”,表示证书链存在完整性问题。请检查证书内容的正确性与完整性后,在数字证书管理服务控制台重新上传。具体操作,请参见上传、同步和共享SSL证书。
如需自定义配置WAF前七层代理设置(如CDN)、X-Forwarded-Proto头字段控制、流量标记,请参见获取真实客户端信息;如需自定义配置回源超时时间、回源长连接,请参见优化回源链路质量。否则,请单击确定应用默认配置。
验证防护效果:
接入完成后,通过以下方式验证防护效果:在浏览器访问ECS实例上托管的网站,并在其URL后附加Web攻击测试代码(例如
http://yourdomain.com/alert(xss)),如果返回WAF的405拦截提示页面,表示攻击被拦截,WAF防护成功。查看并配置防护规则:
完成接入后,WAF将自动创建一个名为
实例id-端口-资产类型的防护对象,并为该防护对象默认启用Web核心防护规则等模块的防护规则,可以在页面查看。如果默认的防护规则不满足业务需求(例如需将特定IP地址列入白名单以放行其全部请求),可以新建或编辑防护规则。更多信息,请参见防护配置概述。
证书与实例状态要求:完成接入后,需要确保证书处于有效期内且实例状态正常。在证书过期,实例的公网IP变更等情况下,WAF的防护将失效。更多信息,请参见更新引流端口绑定的证书与实例变更后重新接入WAF。
单ECS实例多域名场景:若多个域名解析指向了同一ECS实例,并且需要单独为这些域名配置不同的防护规则,须手动将各域名添加为防护对象,详细信息,请参见手动添加防护对象。
增强安全防护等级(HTTPS)
HTTPS相关配置必须在添加端口页选择协议类型为HTTPS后才支持配置。
配置项 | 功能描述 |
利用HTTP/2协议提升网页加载速度,降低延迟,改善用户体验。若网站支持 HTTP/2,可启用该功能。启用后,HTTP/2与HTTPS使用相同端口。 | |
定义客户端与WAF之间允许的TLS版本。版本越高安全性越强,但对旧客户端兼容性越低。高安全需求场景下,推荐选择TLS1.2及以上版本。 | |
定义客户端与WAF之间允许的加密算法。强加密套件安全性高,但对旧客户端兼容性低,高安全需求场景下,建议选择强加密套件。 | |
当ECS实例托管多个域名的HTTPS网站,且单张证书无法覆盖所有域名时,需为每个域名上传对应的证书。 |
HTTP2
在添加端口页选中HTTP2启用。
TLS协议版本
在添加端口页的TLS协议版本区域进行选择。
支持TLS1.0及以上版本,兼容性最高,安全性较低
支持TLS1.1及以上版本,兼容性较好,安全性较好:将导致使用TLS 1.0协议的老旧客户端无法访问网站。
支持TLS1.2及以上版本,兼容性较好,安全性最高:满足最新的安全合规要求,但将导致使用TLS 1.0和1.1协议的老旧客户端无法访问网站。
开启支持TLS1.3:如果网站支持TLS 1.3协议,请勾选此项。WAF默认不监听TLS 1.3协议的客户端请求。
加密套件
在添加端口页的加密套件区域进行选择。
全部加密套件,兼容性较高,安全性较低
协议版本的自定义加密套件、请谨慎选择,避免影响业务:如果网站仅支持特定的加密套件,请选择此项,并从支持的加密套件列表中进行选择。
强加密套件
弱加密套件
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
AES128-GCM-SHA256
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
AES128-SHA
AES256-SHA
DES-CBC3-SHA
说明加密套件安全建议:ECDHE-RSA-AES128-SHA256 和 ECDHE-RSA-AES256-SHA384 加密套件使用 ECDHE 进行密钥交换,RSA 用于身份认证,采用 AES-CBC 加密模式。相比采用 AES-GCM 等认证加密模式的套件,其安全性和性能较低。部分安全扫描工具可能将其识别为弱加密套件,如出现该情况,请选择自定义加密套件并手动排除上述两个套件。
加密套件命名标准:由于加密套件的命名标准不同,WAF采用OpenSSL格式显示加密套件,而部分扫描工具可能使用IANA标准。例如,OpenSSL中的ECDHE-ECDSA-AES256-SHA384对应IANA的TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384。如需快速查询对应关系,可访问 ciphersuite.info 或使用其他TLS查询工具。
扩展证书
在添加端口页的扩展证书区域上传证书。上传方式与默认证书相同,具体操作,请参见默认证书。
说明添加多个扩展证书时,所有证书必须有效。任一证书过期将导致添加操作失败。
获取真实客户端信息
配置项 | 功能描述 |
WAF前存在七层代理(如CDN)时,需设置客户端IP判定方式,确保WAF能够获取真实的客户端IP信息,以便进行安全分析(例如:安全报表的攻击源IP)。 | |
帮助源站服务器区分经过WAF的请求,获取客户端真实源IP或源端口。 | |
WAF 默认为经过的HTTP 请求插入 |
WAF前是否有七层代理(高防/CDN等)
在立即接入页的WAF前是否有七层代理(高防/CDN等)区域进行配置。
否,无其他代理
表示WAF收到的业务请求由客户端直接发起。
是,有其他代理
表示WAF收到的业务请求来自其他七层代理服务转发,需要进一步设置客户端IP判定方式。
取X-Forwarded-For中的第一个IP作为客户端源IP
选择此项后,WAF将按照以下顺序获取客户端IP:
从请求头部读取 X-Real-IP 作为客户端 IP。
若 X-Real-IP 不存在,则使用 X-Forwarded-For(XFF)中的首个 IP 地址作为客户端 IP。
【推荐】取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造
说明建议通过其他代理服务配置,将客户端源 IP 地址写入指定的 Header 字段(例如X-Real-IP、X-Client-IP)并选择此配置,以防止攻击者通过伪造XFF字段绕过WAF。
在指定Header字段框中填写对应的字段。支持输入多个Header字段。输入后回车确认。WAF将按照以下顺序获取客户端IP:
按序匹配配置的指定Header字段。
若所有指定Header都不存在,尝试读取X-Real-IP字段。
若仍无结果,则采用XFF中的首个IP地址作为客户端IP。
启用流量标记
在立即接入页展开高级设置,勾选启用流量标记后配置如下类型的标记字段。
自定义Header:通过配置Header名和Header值,使WAF在回源请求中添加该Header信息,标识经过WAF的请求。
例如,可以配置
WAF-TAG: Yes标记,其中WAF-TAG为Header名,Yes为Header值。配置后,服务器可基于该字段建立校验或访问控制策略,增强安全防护与请求识别能力。重要请不要填写标准的HTTP Header字段(例如User-Agent等),否则会导致标准Header字段内容被自定义的字段值覆盖。
客户端真实源IP:通过配置真实客户端源IP所在的Header字段名,WAF可记录该Header字段并将其传递至源站服务器。关于WAF判定客户端真实源IP的具体规则,请参见WAF前是否有七层代理(高防/CDN等)的描述。
客户端真实源端口:通过配置真实客户端源端口所在的Header字段名,WAF可记录该Header字段并将其传递至源站服务器。
通过X-Forwarded-Proto头字段获取WAF的监听协议
在立即接入页展开高级设置,按需勾选通过X-Forwarded-Proto头字段获取WAF的监听协议。
优化回源链路质量
配置项 | 功能描述 |
当源站服务器处理时间较长导致可能的超时问题时,可配置WAF读写连接超时时间。 | |
配置WAF 与源站服务器之间保持长时间连接的能力。若接入后出现偶发502错误,请检查源站相关参数。建议将WAF的长连接参数值设置为小于或等于源站对应的参数值。 |
设置读写连接超时时间
在立即接入页展开高级设置,设置以下项目。
设置读连接超时时间:等待源站服务器响应的超时时间。对于响应耗时较长的接口(如报表导出、批量数据处理),需调高此参数。默认值为120s,可配置范围为1s~3600s。
设置写连接超时时间:WAF向源站服务器发送请求的超时时间。一般情况下无需调整,仅当源站负载极高导致处理请求慢时,才应适当调高此参数。默认值为120s,可配置范围为1s~3600s。
回源长连接
重要关闭该功能后,回源长连接将不支持WebSocket协议。
在立即接入页展开高级设置,在回源长连接区域启用该功能并进行如下设置。
复用长连接的请求个数:默认值为1,000个,可配置范围为60个~1,000个。例如,当源站使用Nginx时,此参数对应Nginx参数
keepalive_requests,更多信息,请参见Nginx文档。空闲长连接超时时间:默认值为3600s,可配置范围为10s~3600s。例如,当源站使用Nginx时,此参数对应Nginx参数
keepalive_timeout。
提高资源管理效率
资源组
功能描述:资源组用于简化资源管理和权限配置,提升管理效率。未指定资源组时,实例将加入默认资源组。更多信息,请参见资源组。
操作步骤:在立即接入页资源组区域,从资源组下拉列表中选择该实例所属资源组。
日常运维
更新引流端口绑定的证书
如果证书即将到期或其他原因导致证书发生变更(例如证书被吊销)时,需要更新引流端口绑定的证书。
在阿里云购买新证书
在数字证书管理服务(原 SSL 证书)控制台续费SSL证书,具体操作,请参见续费SSL证书。
在云产品接入页签,选择云服务器ECS,定位到目标实例,单击
图标,选择目标端口操作列的编辑证书。在默认证书区域,选中选择已有证书,并选择新的证书,单击确定。
已在其他平台购买新证书
从原购买平台下载证书文件。
在云产品接入页签,选择云服务器ECS,定位到目标实例,单击
图标,选择目标端口操作列的编辑证书。在默认证书区域,选中手动上传,并选择新的证书,填写如下信息后,单击确定。
证书名称:为证书设置一个唯一的名称,不能与已上传的证书名称重复。
证书文件:请使用文本编辑器打开并粘贴 PEM、CER、CRT 格式的证书文本内容。
格式示例:
-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----证书链:若包含中间证书,请按照 “服务器证书、中间证书” 的顺序拼接后粘贴。
格式转换:若证书是 PFX、P7B 等格式,请使用证书工具将其转换为 PEM 格式。
私钥文件:请使用文本编辑器打开并粘贴 PEM 格式的私钥文本内容。
格式示例:
-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----
证书剩余有效期不足30个自然日时,WAF会在接入列表中通过
图标,提示证书即将过期,建议及时更新,以免影响业务正常运行。可以设置SSL证书消息提醒,在证书到期前通过邮件、短信等方式接收通知。具体操作,请参见设置SSL证书消息提醒。
为避免因证书过期而导致业务中断,建议开通阿里云数字证书管理服务(原 SSL 证书)的证书托管服务,在证书即将过期时自动申请并更新证书。更多信息,请参见什么是托管服务。
接入回滚(取消接入)
临时关闭WAF防护:若在接入后出现问题,例如出现大量误拦截,需要临时关闭WAF防护时,可以在WAF控制台的防护对象页面中,关闭WAF防护状态开关。更多信息,请参见一键关闭WAF防护功能。
取消接入:若不再希望使用WAF对ECS实例进行防护,可以按照以下步骤取消接入。
在接入管理页面,单击云产品接入页签。
选择云服务器ECS,单击目标实例前的
图标,展开查看该实例下已添加到WAF防护的端口。
单击取消接入,在取消接入对话框,单击确定。
业务影响:取消接入WAF时,Web业务可能出现短暂的秒级连接中断。建议选择业务低峰期执行取消接入操作,并在取消完成后关注业务状态。若客户端或服务具备有效的重连机制,此中断将自动恢复,不会对业务运行造成影响。
重新接入:取消接入后,资产上的流量将不再受到WAF保护,可以单击立即接入,重新配置引流端口。
计费提示:当 WAF 实例为按量付费时,除请求处理费用外,还收取功能费用(包括实例本身及防护规则等)。如需终止使用 WAF 并停止计费,请参见关闭WAF。
实例变更后重新接入WAF
WAF 通过绑定 ECS 实例的公网 IP 来提供防护。当实例的公网 IP 因以下任一操作而发生变更时,原有的引流端口配置将会失效,导致业务流量绕过 WAF,直接暴露于公网风险之中:
释放ECS实例。
更换ECS实例绑定的公网 IP。
通过迁移任务变更ECS实例的可用区。
为恢复安全防护,此时必须在 WAF 控制台为变更后的ECS实例重新执行接入操作。
应用于生产环境
为确保在生产环境中的安全性和稳定性,在接入生产环境ECS实例时,建议遵循以下最佳实践。
HTTPS配置:建议在ECS实例中部署证书,并关注以下配置,以便高效管理证书。
将证书文件上传至数字证书管理服务(原 SSL 证书)。
在WAF侧接入ECS实例时配置HTTPS类型的引流端口,建议在TLS协议版本区域,配置TLS1.2及以上版本。
设置SSL证书消息提醒,在证书即将过期时及时更新。
灰度策略:优先在业务低峰期接入非生产环境的ECS实例,运行一段时间以确认业务正常后,再接入生产环境的ECS实例。
检查业务:接入完成后,可以通过如下方式确认业务是否正常。
查看日志:查看日志中状态码200的占比是否有明显波动、QPS是否有明显突增突降等。若已启用WAF日志服务,可以参考WAF日志进行检查。
业务监控:检查业务侧功能是否正常,例如用户访问、交易等功能。
后续运维:生产环境接入完成后,需进行持续的运维工作,监控攻击与误拦截事件。
配额与限制
接入的端口数量:配置的引流端口总数未超过 WAF 实例规格的上限。
WAF包年包月实例:基础版最多300个;高级版最多600个;企业版最多2,500个;旗舰版最多10,000个。
WAF按量付费实例:最多10,000个。
DDoS 结合使用:若同时使用 DDoS 高防,则流量必须先经过DDoS高防,再转发至WAF,且 DDoS 高防必须采用域名接入(七层)方式。
不支持的场景:
防护ECS实例的 IPv6 网站。
在WAF配置HTTPS强制跳转。
上传国密证书。
常见问题
产品功能特性相关
为什么找不到需接入的ECS实例?
请优先单击接入管理页面右上角同步资产。
若仍无法找到,说明实例不满足适用范围。例如非中国内地地域的ECS实例需要通过购买非中国内地WAF进行云产品接入,或使用CNAME接入。

WAF能否防护FTP、SSH等非Web流量?
不能,WAF作为Web应用防火墙,针对Web流量提供防护,即HTTP和HTTPS流量。无法防护其他协议的流量,如FTP和SSH等。
云产品接入支持哪些端口?
使用云产品接入WAF时,支持防护1~65535范围内的任意端口。更多信息,请参见WAF支持的端口范围。
接入方式选择相关
ECS实例上的域名能否同时使用云产品接入和CNAME接入?
不推荐。每个域名只能使用云产品接入或CNAME接入两种模式之一,重复接入会导致转发冲突与策略混乱。若需要将CNAME接入的域名转换为云产品接入,必须先将DNS解析切换回源站,待DNS解析收敛后,删除该域名的CNAME接入配置,然后重新进行云产品接入。
同一个域名解析指向了多个ECS实例,该如何接入?
使用云产品接入:需要逐一接入这些ECS实例,确保WAF将流量引导至所有目标实例。
使用CNAME接入:CNAME接入此域名并配置源站地址为多个ECS实例的公网IP。
多个域名解析指向了同一个ECS实例,该如何接入?
使用云产品接入:接入此ECS实例后,实例上的所有域名都将受到WAF默认防护策略的防护。但如果需要单独为这些域名配置不同的防护规则,须手动将各域名添加为防护对象,详细信息,请参见手动添加防护对象。
使用CNAME接入:逐一接入多个域名。