Web应用防火墙WAF(Web Application Firewall)可以与CDN(如网宿、加速乐、七牛、又拍、阿里云CDN等)结合使用,为开启内容加速的域名提供Web攻击防御。本文介绍如何同时部署WAF和CDN。
背景信息
您可以参照以下架构为源站同时部署WAF和CDN:CDN(入口层,内容加速)> WAF(中间层,实现应用层防护)> 源站。
使用阿里云CDN
- 将要防护的域名(即加速域名)接入CDN。具体操作,请参见CDN快速入门。
- 在WAF中创建网站配置。
- 域名:填写要防护的域名。
- 服务器地址:填写SLB公网IP、ECS公网IP,或云外机房服务器的IP。
- WAF前是否有七层代理(高防/CDN等):勾选是。
具体操作,请参见网站配置。
- 成功创建网站配置后,WAF为该域名生成一个专用的CNAME地址。说明 关于如何查看WAF生成的CNAME地址,请参见WAF接入指南。
- 将CDN配置中的源站修改为WAF分配的CNAME地址。
- 登录阿里云CDN控制台。
- 在域名管理页面,选择要操作的域名,单击管理。
- 在源站信息区域,单击已有源站信息后面的编辑,修改已有源站配置。
参数 说明 源站信息 选择源站的类型,并填写源站地址。
- 地址长度:最长不超过67个字符。
- 源站数量:每个加速域名的源站数量最多可以设置20个。
- OSS域名
- 资源已存储在阿里云OSS中,可直接输入阿里云OSS Bucket的外网域名作为源站(不支持OSS内网域名作为源站),例如:
***.oss-cn-hangzhou.aliyundoc.com
。 - 查看OSS外网域名:前往OSS控制台查看,或直接选择同账号下的OSS Bucket。
说明 阿里云CDN回源阿里云OSS的流量优惠说明:- 用户需要在控制台上把源站类型设置为“OSS域名”,这样阿里云OSS产品会将来自阿里云CDN产品的回源流量识别为“CDN回源流出流量”,从而享受到更优惠的价格。
- 如果用户在控制台上把源站类型误设为“源站域名”,阿里云OSS产品会将来自阿里云CDN产品的回源流量识别为“外网流出流量”,这种情况下就享受不到优惠价格。
详细的费用说明请参见CDN加速OSS计费说明。
- 资源已存储在阿里云OSS中,可直接输入阿里云OSS Bucket的外网域名作为源站(不支持OSS内网域名作为源站),例如:
- IP:支持配置多个服务器外网IP作为源站地址,不支持内网IP,阿里云ECS的外网IP可免审核。
- 源站域名:支持配置域名作为源站地址,可配置多个域名。
说明
- 源站域名不能与加速域名相同,否则会造成循环解析,无法回源。
- 源站域名格式:
- 域名长度为1~67个字符。
- 支持:小写英文字母(a~z)、数字(0~9)和短划线(-),例如example.com。
- 不支持:中文、英文大写字母(A~Z)和除了短划线(-)以外的其他符号,且短划线(-)不能连续出现、不能单独使用、不能出现在开头和结尾。如果域名包含中文(例如:阿里云.网址),请以中文形式进行相关备案,再通过第三方工具punnycode将中文域名转换成为英文域名(例如:xn--fiq****.xn--eq****)后填入。
- 阿里云CDN当前不支持直接将阿里云ALB产品的实例地址(例如:
example.hangzhou.alb.aliyuncs.com
)添加为CDN的源站。但您可以通过ALB实例配置CNAME域名解析的方式,实现通过业务域名(例如:origin.example.com
)解析到ALB实例地址,操作方法,请参见设置CNAME域名解析。然后再把业务域名设置为CDN加速域名的源站地址。
- 函数计算域名:支持将您在同一账号下的函数计算产品上配置的函数计算域名,配置为源站地址。您需要选择函数计算区域和域名。操作方法,请参见配置自定义域名。
优先级 支持设置主备,主优先级大于备优先级。用户请求通过阿里云CDN回源时,会优先回源到优先级为主的源站地址。主源站出现故障的情况下,将会回源到备源站。源站优先级的取值范围为0~127,数值越小,优先级越高。主源站的优先级默认值为20,备源站的优先级默认值为30。如需配置其他值,请提交工单申请。
例如,有A、B两个源站,A源站的优先级为主,B源站的优先级为备,则用户请求通过阿里云CDN回源时会优先回源到A源站,如果A源站出现故障,将会回源到B源站,当A源站恢复正常后会从B源站切换回A源站。
权重 当多个源站的优先级相同时,阿里云CDN会按照源站的权重分配用户请求回源到不同源站的比例,实现按权重的负载均衡。您可以根据业务需求,自行设置权限值。- 取值范围:1~100,数值越大,源站分配到的用户请求比例越高。
- 默认值:10。
示例:有A、B两个源站,两个源站的优先级都是主,A源站的权重为80,B源站的权重为20,则用户请求将会按照8:2的比例在A、B两个源站之间分配。
端口 - 前往回源配置页面,在配置页签下,确认回源HOST未开启。
完成上述配置后,流量经过CDN,其中动态内容将继续通过WAF安全检测防护。