开通Web应用防火墙(Web Application Firewall,简称WAF)后,您可以通过CNAME接入方式,将您要防护的网站域名接入WAF进行防护。本文介绍如何将网站域名通过CNAME接入方式添加到WAF。
CNAME接入网络架构

前提条件
- 已开通WAF 3.0服务。具体操作,请参见购买WAF 3.0包年包月实例、开通按量付费WAF 3.0实例。
- 如需将域名接入中国内地WAF实例防护,您必须先为域名完成ICP(Internet Content Provider)备案,并确保域名的备案信息始终有效。如果接入非中国内地WAF实例,则无该要求。
如果域名未备案,您在中国内地WAF实例中添加该域名时,将会收到报错,提示您需要完成备案。您可以通过阿里云ICP备案平台完成备案,更多信息,请参见ICP备案流程概述。
重要 域名接入WAF防护后,您还必须保证域名备案信息始终有效。中国内地WAF实例会定期检查所防护域名备案信息的有效性。如果域名备案信息已过期,WAF会按照相关法律法规要求,对域名执行未备案治理,治理方式包括但不限于停止转发站点请求、清除备案失效的域名配置等。关于相关法律法规,请参见未备案不得提供非经营性互联网信息服务。
操作步骤
- 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
- 在左侧导航栏,单击接入管理。
- 在CNAME接入页签,单击接入。
- 在配置监听向导页面,完成如下配置,单击下一步。
配置项 配置说明 域名 填写要防护的域名。配置说明: - 支持填写精确域名,例如
www.aliyundoc.com
;或通配符域名,例如*.aliyundoc.com
。说明- 通配符域名不能匹配对应的主域名,例如,
*.aliyundoc.com
不能匹配aliyundoc.com
。 - 通配符域名不能匹配不同级别的子域名,例如,
*.aliyundoc.com
不能匹配www.example.aliyundoc.com
。 - 通配符域名能够匹配所有同级别的子域名,例如,
*.aliyundoc.com
能够匹配www.aliyundoc.com
、example.aliyundoc.com
等。 - 如果防护对象中同时存在精确域名和能够匹配该精确域名的通配符域名,精确域名的防护规则优先生效。
- 通配符域名不能匹配对应的主域名,例如,
- 暂不支持添加
.edu
域名。如果您需要添加.edu
域名,请联系您的商务经理或架构师。
协议类型 网站使用的协议类型及端口信息。 选中HTTP或HTTPS,并填写对应的端口号。每输入一个端口,按回车确认。说明 您输入的端口必须在可选端口范围。您可以单击查看端口范围,查看WAF支持的HTTP及HTTPS端口。更多信息,请参见WAF支持的端口范围。- 如果选中HTTP,除配置HTTP端口外,您无需配置其他信息。
- 如果选中HTTPS,您需要将网站域名关联的SSL证书上传到WAF,使WAF监听和防护网站的HTTPS业务流量。
- 手动上传单击上传证书,填写证书名称、证书文件(格式示例:
-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----
)和证书私钥(格式示例:-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----
)。重要- 如果证书是PEM、CER、CRT格式,您可以使用文本编辑器直接打开证书文件,并复制其中的文本内容。
- 如果证书是除PEM、CER、CRT外的其他格式(例如,PFX、P7B等),您必须将证书文件转换成PEM格式后,才可以使用文本编辑器获取其中的文本内容。关于证书格式的转换方法,请参见不同格式的HTTPS证书转换成PEM格式。
- 如果域名关联了多个SSL证书(例如,存在证书链),您必须将证书文件中的文本内容拼接后,再上传到WAF。
- 选择已有证书
从已有证书列表(包含通过阿里云SSL证书服务签发的证书、已上传到SSL证书服务的第三方证书)选择要上传到WAF的证书。
您可以单击云盾-证书服务,前往SSL证书管理控制台,查看已有证书。
- 申请新证书
单击立即申请,跳转到SSL证书申请页面,为域名快速申请一张证书。
按照页面提示为域名配置证书后,证书将自动上传到WAF。说明 快速申请证书仅支持申请付费DV(Domain Validation)型证书。如果您需要申请其他类型的证书,请通过SSL证书服务购买。更多信息,请参见购买SSL证书。
- 手动上传
- 选中HTTPS并配置证书后,您也可以根据业务需要,进行如下操作:
- HTTP2如果您的网站支持HTTP 2.0协议,您可以选中HTTP2,开启HTTP 2.0业务防护。说明 HTTP 2.0协议的端口与HTTPS协议端口一致。
- 高级配置
- 开启HTTPS的强制跳转(高级配置)该功能默认不开启。开启该功能后,WAF会将客户端的HTTP请求强制转换为HTTPS请求(默认跳转到443端口),以提高安全性。重要 只有在未选中HTTP协议时,支持开启该功能。
- TLS协议版本
自定义HTTPS通信中允许使用的TLS协议版本。如果客户端使用不符合要求的协议版本,WAF会丢弃其请求流量。此处设置的协议版本越高,通信安全性越好,但兼容性会有所降低。
建议您根据网站本身的HTTPS配置,选择允许WAF监听的TLS协议版本。如果您不清楚网站的HTTPS配置,建议使用默认选项。
可选项:- 支持TLS 1.0及以上版本,兼容性最高,安全性较低(默认)
- 支持TLS 1.1及以上版本,兼容性较好,安全性较好
使用该选项后,如果客户端使用TLS 1.0版本,将无法访问网站。
- 支持TLS 1.2及以上版本,兼容性较好,安全性最高
使用该选项后,如果客户端使用TLS 1.0和1.1版本,将无法访问网站。
- 加密套件
自定义HTTPS通信中允许使用的加密套件。如果客户端使用不符合要求的加密套件,WAF会丢弃其请求流量。
默认已选择WAF支持的全部加密套件。建议您只在网站只支持特定加密套件的前提下,再修改该配置。
可选项:- 全部加密套件,兼容性较高,安全性较低(默认)
- 协议版本的自定义加密套件,请谨慎选择,避免影响业务:如果您的网站本身只支持特定的加密套件,请选择该选项,并从WAF支持的加密套件中选择网站支持的加密套件。
如果客户端使用其他加密套件,将无法访问网站。
- 开启HTTPS的强制跳转(高级配置)
- HTTP2
WAF前是否有七层代理(高防/CDN等) 网站在接入WAF前是否启用了其他七层代理服务(例如,DDoS高防、CDN等)。 - 无其他代理服务,选择否(默认)表示WAF收到客户端直接发起的业务请求(不是从其他代理服务转发的请求)。说明 WAF直接取与WAF建立连接的IP(来自请求的
REMOTE_ADDR
字段)作为客户端IP。 - 有其他代理服务,选择是
表示WAF收到的业务请求来自其他七层代理服务转发(不是客户端直接发起的请求)。为保证WAF可以获取真实的客户端IP进行安全分析,您需要进一步设置客户端IP判定方式。可选项:
可选项:- 取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造如果您的网站业务已通过其他代理服务的设置,规定将客户端源IP放置在某个自定义的Header字段(例如,X-Client-IP、X-Real-IP),则您需要选择该选项,并在指定Header字段框中输入对应的Header字段。说明 推荐您在业务中使用自定义Header存放客户端IP,并在WAF中配置对应Header字段。该方式可以避免攻击者伪造XFF字段,躲避WAF的检测规则,提高业务的安全性。
支持输入多个Header字段。每输入完一个Header字段,按回车进行确认。如果设置了多个Header,WAF将按顺序尝试读取客户端IP。如果第一个Header不存在,则读取第二个,以此类推。如果所有指定Header都不存在,则读取XFF中第一个IP地址作为客户端IP。
- 取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造
更多配置 资源组 从资源组列表中选择该域名所属资源组。如果不选择,则默认加入默认资源组。 说明 您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。更多信息,请参见创建资源组。 - 支持填写精确域名,例如
- 在配置转发向导页面,完成如下配置,单击提交。
配置项 说明 负载均衡算法 如果源站有多个服务器地址,您可以选择WAF转发回源请求到源站时,在多个服务器地址间进行负载均衡的算法。可选项: - IP hash(默认)将来自同一个客户端IP的请求固定转发到的一个源站服务器地址。重要 使用IP hash时,如果源站服务器的IP地址不够分散,可能会出现负载不均的情况。
- 轮询
将所有请求轮流分配给源站服务器。
- Least time通过智能DNS解析能力和Least-time回源算法,保证业务流量从接入防护节点到转发回源站服务器整个链路的路径及时延最短。
服务器地址 填写网站对应的源站服务器的公网IP地址或域名网站,用于接收WAF转发回源的正常业务请求(回源请求)。填写源站的公网IP地址。可选项: HTTPS高级设置 - 开启HTTP回源
HTTP回源表示WAF使用HTTP协议向源站转发回源请求,默认回源端口是80。开启该功能后,无论客户端访问WAF的端口是80或443,WAF转发的请求都会通过80端口访问源站。开启HTTP回源可以在无需改动源站服务器的前提下,通过WAF实现HTTPS访问,帮助您降低网站的负载损耗。
重要 如果您的网站不支持HTTPS回源,请务必开启该设置。 - 启用回源SNI
回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则需要开启该设置。
选中启用回源SNI后,您可以进一步设置SNI扩展字段的值。可选项:- 与实际请求host保持一致(默认)
表示WAF回源请求中SNI扩展字段的值与请求头中Host字段的值保持一致。
例如,您配置的网站域名为
*.aliyundoc.com
,客户端实际请求了www.aliyundoc.com
(即Host字段值),则WAF回源请求中SNI扩展字段的值为www.aliyundoc.com
。 - 自定义
表示您自定义WAF回源请求中SNI扩展字段的值。
一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。
- 与实际请求host保持一致(默认)
其它高级设置 - 启用流量标记WAF转发回源请求时,在请求头中添加或修改由您指定的自定义字段。选中启用流量标记后,您需要设置标记字段。重要
- 请不要填写标准的HTTP头部字段(例如User-Agent等),否则会导致标准头部字段内容被自定义的字段值覆盖。
- 如果攻击者在域名接入WAF前,已获取源站IP信息,并通过购买其他WAF实例,将请求回源到目标源站时,您可以启用流量标记,并设置标记字段。当源站接收到请求后,建议对该字段进行校验。如果存在指定标记字段,则允许访问。
标记字段分为以下类型:- 自定义Header
通过配置Header名和Header值,使WAF在回源请求中添加该Header信息,标记经过WAF的请求(区分没有经过WAF的请求,便于您的后端服务统计分析)。
例如,您可以使用
ALIWAF-TAG: Yes
标记经过WAF的请求,其中,ALIWAF-TAG
为Header名,Yes
为Header值。 - 客户端真实源IP
通过配置真实客户端源IP所在的头部字段名,WAF可记录该头部字段并将该头部字段传递回源站。关于WAF判定客户端真实源IP的具体规则,请参见WAF前是否有七层代理(高防/CDN等)参数的描述。
- 客户端真实源端口
通过配置真实客户端源端口所在的头部字段名,WAF可记录该头部字段并将该头部字段传递回源站。
单击新增标记,可以增加标记字段。最多支持设置5个标记字段。
- 设置WAF回源到源站的超时时间
- 设置新建连接超时时间:WAF与源站建立连接的超时时间,默认值为5s,可配置范围为5s~120s。
- 设置读连接超时时间:等待源站响应的超时时间,默认值为120s,可配置范围为5s~1800s。
- 设置写连接超时时间:WAF向源站发送请求的超时时间,默认值为120s,可配置范围为5s~1800s。
- 回源重试
开启该功能后,如果回源失败,WAF会默认为每个源站尝试回源三次。关闭该功能后,如果回源失败,WAF将不再进行重试。
- 回源长连接开启该功能后,您还需要进行如下设置:
- 复用长连接的请求个数:默认值为1,000个,可配置范围为60个~1,000个。
- 空闲长连接超时时间:默认值为15s,可配置范围为1s~60s。
说明 关闭该功能后,回源长连接将不支持WebSocket协议。
- IP hash(默认)
- 在接入完成向导页面,获取WAF提供的CNAME地址。添加域名后,您可以在接入域名列表进行如下操作:
- 单个绑定或解除标签
给域名绑定标签后,可在控制台通过已绑定标签快速查找指定资源。
- 定位到目标域名,将鼠标悬停在标签列的
图标上,如果该域名未新增标签,单击绑定,如果该域名已有标签,单击编辑。
- 在编辑标签对话框,选择或输入标签键,并填写标签值。说明
- 一次最多绑定10个标签键,允许标签值为空。
- 输入标签键和标签值时,最多支持128个字符,不支持以
aliyun
或acs:
开头,且不能包含http://
和https://
。 - 标签可以在接入时为域名绑定,也可以在配置防护策略时为域名对应的防护对象绑定,且同时生效。即为域名绑定标签后,对应的防护对象也会被绑定该标签。
绑定标签后,您可以通过标签筛选,查找已绑定标签的域名。
- 如果您不再使用该标签,可在编辑标签对话框,单击目标标签的
图标,删除该标签。
- 定位到目标域名,将鼠标悬停在标签列的
- 批量绑定或解除标签
选中多个域名,单击列表下方的增加标签或删除标签。
- 删除或修改已接入的域名。定位到目标域名,单击操作列的编辑或删除。警告 在删除域名前,请务必先将域名的解析地址改回接入WAF前的配置,例如,设置为源站服务器的IP地址等。否则,将使WAF无法转发正常业务请求到源站,导致网站无法被访问。
- 单个绑定或解除标签
后续操作
- 修改域名DNS解析设置添加域名到WAF后,您需要将域名的DNS解析地址设置为WAF提供的CNAME地址或WAF IP地址,才能将域名的Web请求解析到WAF进行安全防护。重要 在修改域名DNS解析设置前,请确认如下内容:
- 已通过本地验证确保转发配置生效。如果在WAF的网站转发配置未生效时修改域名DNS,可能导致业务中断。更多信息,请参见本地验证。
- 如果源站服务器安装了其他防火墙应用,您需要将WAF IP地址添加到应用的白名单,避免WAF转发回源站的正常业务请求被误拦截。您可以单击Web应用防火墙回源IP网段列表,查看并复制WAF回源IP地址段。更多信息,请参见放行WAF回源IP段。
关于修改域名DNS解析的操作,请参见修改域名DNS解析设置。
- 配置防护策略完成接入后,WAF会自动生成一个命名为“域名-waf”的防护对象,并为该防护对象默认开启基础防护规则。您可以在页面,查看自动添加的防护对象,并为其配置防护规则。
相关文档
- 防护配置概述:介绍防护对象、防护策略和防护流程等信息。
- CreateDomain - 添加CNAME接入资源:介绍通过OpenAPI将域名接入WAF实例的配置信息。
- DescribeDomainDetail - 查询CNAME接入详情:介绍通过OpenAPI查询CNAME接入详情的配置信息。