You need to enable JavaScript to run this app.
导航
通过 CNAME 方式接入
最近更新时间:2025.02.19 19:35:13首次发布时间:2024.01.26 11:09:11

如果您的业务未配置负载均衡,建议通过 CNAME 方式接入云 WAF 实例。在火山引擎 Web 应用防火墙控制台配置防护域名参数和 WAF 回源参数后,您只需要修改防护域名的 DNS 解析记录并放行火山引擎 Web 应用防火墙的回源 IP 地址,即可完成域名的安全防护配置。

背景信息

CNAME 接入方式下,您还可以通过云 WAF 实例为公网 IP 业务开启 DDoS 原生防护服务为,以提高业务安全,抵御更多攻击类型。更多关于联合部署 Web 应用防火墙和 DDoS 原生防护服务的方案介绍,可参考联合部署 DDoS 原生防护和 Web 应用防火墙

前提条件

  • 您已创建云 WAF 实例。创建相关操作,请参考创建 WAF 实例
  • 所需防护域名已备案,且未添加到云 WAF 实例。备案相关操作,请参考备案流程

操作步骤

  1. 登录 Web 应用防火墙控制台

  2. 在顶部菜单栏选择实例所属地域。

  3. 在左侧导航选择网站设置,然后单击新建站点

  4. 选择接入方式为 CNAME

  5. 填写要接入 WAF 的网站信息,并提交。
    Image

    参数

    说明

    配置示例

    网站配置

    防护域名

    填写需要接入防护的域名,支持泛域名或精准域名。域名须经过 ICP 备案,未备案域名将无法正常添加。

    说明

    如需同时配置泛域名和域名主体本身,请分别配置。如:需要同时配置*.b.a.comb.a.com,需要分别接入域名并配置策略。

    *.volcwaf001.com

    所属项目

    将防护域名添加至当前账号被授权的项目中。项目管理是火山引擎提供的一种资源管理方式,有利于保持资源独立,维护数据安全。

    • 默认关联当前账号授权的项目,且不可修改。
    • 主账号可以查看所有项目,切换控制台顶部的所属项目为账号全部资源后,可调整所属项目设置。
    • 关于项目和权限管理相关的配置,可参考项目概述

    default(默认项目)

    协议类型

    协议选择:
    勾选 HTTPS 协议后需要选择对应证书。如只勾选 HTTPS 协议,则 HTTP 请求将默认重定向至 HTTPS。

    • HTTP:80、81
    • HTTPS:443、4443
    • 协议跟随:关闭
    • HTTP 2.0:关闭
    • IPv6 防护:关闭

    端口号配置:

    • HTTP 协议默认支持 80 端口,HTTPS 默认支持 443 端口。
    • 协议支持配置的端口数量因版本而异。
    • 端口号输入后按回车键可继续输入其他端口号。
    • 支持编辑或删除已输入的端口号。

    注意

    输入的端口号需在可添加端口范围内且不能重复,单击查看可添加端口可搜索查看对应协议下可添加的端口号。

    更多设置:

    • 非标端口强制重定向:如果仅勾选 HTTPS 协议,HTTP 协议的 80 端口会默认重定向至 HTTPS 协议的 443 端口。您可以通过非标端口强制重定向,将 HTTP 非标端口重定向至 HTTPS 的相同端口号。
    • 协议跟随:开启后,访问请求的“回源协议”与“访问协议”保持一致。为保证正常回源,请同时选中 HTTP 和 HTTPS 并确认源站支持已选中的协议类型。
    • HTTP 2.0:开启前需要勾选 HTTPS 协议类型,开启后支持 HTTP 2.0 协议接入防护,以 HTTP 1.0/1.1 协议转发回源。
    • IPv6 防护:开启后,支持对 IPv6 客户端请求的防护,可在回源配置中配置 IPv4 和 IPv6 源站地址。开启协议跟随后,IPv4 请求将转发 IPv4 源站,IPv6 请求转发 IPv6 源站。

    证书选择

    勾选 HTTPS 协议后需要选择对应证书,支持选择已上传的证书或者新增证书。新增证书相关操作可参考申请证书

    因启用 HTTPS 协议,故需要选择相关证书

    DDoS 原生防护

    如您需要对实例开启 DDoS 原生防护,可启用该功能,并选择相关 DDoS 原生防护实例。

    说明

    请确保您已创建对应的 DDoS 原生防护实例。创建说明请参考创建 DDoS 原生防护实例(企业版)DDoS 原生防护实例(高级版)

    注意

    如您在之前配置并开启了 WAF 关联 EIP 实例的云防火墙防护策略,在您选择开启 DDoS 原生防护(企业版)后,WAF 的 EIP 会被与 DDoS 原生防护(企业版)关联的增强型防护 EIP 替代,此时 WAF 实例不受已有的云防火墙防护策略保护。如需要开启云防火墙防护,请重新配置。

    暂不开启

    日志配置

    日志采集

    选择当前域名的日志服务的启用状态。

    • 开启:域名规则创建完成后开始采集该域名产生的日志数据。
    • 关闭:域名规则创建完成后不会采集该域名产生的日志数据。

    说明

    如果需要开启日志服务,需要先完成 WAF 访问日志服务的跨服务授权,让 WAF 服务获取日志采集和存储权限。

    开启

    记录全量 Header

    日志采集的字段分为必选字段和可选字段。在必选日志字段中,HostXForwardedForRefererUserAgent属于常见 header 字段。您在接入网站防护时,WAF 默认仅采集这些常见 header 日志字段。

    • 记录全量 Header:记录流量中的全部 Header 字段。
      • 如果您关闭记录全量 Header,则日志仅记录这些常见 Header 字段。
      • 如果您开启记录全量 Header,WAF 会记录常见 header 字段和自定义 header 字段。除Cookie以外,其他自定义 header 字段统一记录在Headers中。
    • 例外 Header 字段:指开启记录全量 Header后,为防止日志存储过大,而设置的不需要记录的 Header 字段。
    • 统计 Header 字段:设置需要统计、分析和告警的 Header 字段。

    关于日志字段的详细说明,可参考日志字段说明

    关闭

    记录请求 Body

    开启后,WAF 将按照配置的长度上限记录请求的 Body 信息,超出长度的 Body 会被截断。可配置范围:0-128 KB。

    注意

    记录大量的请求 Body 会占用大量存储空间,需要合理设计日志存储和清理策略。

    关闭

    记录响应 Body

    开启后,WAF 将按照配置的长度上限记录响应的 Body 信息,超出长度的 Body 会被截断。可配置范围:0-128 KB。

    注意

    记录大量的响应 Body 会占用大量存储空间,需要合理设计日志存储和清理策略。

    关闭

    接入能力

    代理配置

    需要配置的网站在接入 WAF 前是否使用了高防、CDN 等七层代理。

    • :WAF 前没有配置代理,WAF 取与 WAF 建立连接的 IP(取 X-Real-Ip)作为客户端 IP。
    • :WAF 前配置了代理,表示 WAF 收到的业务请求来自其他七层代理服务转发,而非直接来自发起请求的客户端,需要进一步配置客户端 IP 判定方式。
      • X-Forwarded-For:通过 X-Forwarded-For 字段中第一个公网 IP 地址作为客户端真实 IP 地址。

        注意

        该方式存在攻击者伪造 X-Forwarded-For 字段的风险。

      • TCP Option Address:从 TCP 的 Option 字段获取客户端 IP,覆盖 X-Real-IP 字段,同时添加为 X-Forwarded-For 字段的第一个 IP。
      • 自定义 Header:按匹配字段添加顺序获取客户端 IP 并将其作为客户端真实 IP 。如匹配字段无法获取客户端 IP,则将通过 X-Forwarded-For 字段获取;如 X-Forwarded-For 字段由于伪造非法 IP 无法获取,则取 X-Real-Ip 字段作为客户端 IP。

        说明

        单实例每域名最多可配置 5 个自定义 Header 字段。

    TLS 配置

    如果勾选了 HTTPS 协议类型,需设置 TLS 参数,即设置允许使用的 TLS 协议版本和加密套件,不匹配的请求将默认被丢弃。为提升业务安全和兼容性,建议您使用系统默认配置。

    • TLS 协议:默认全选。

      注意

      • 修改时至少选择一个协议版本,暂不支持单独选中 TLSv1.3 版本。
      • 选择多个版本时需注意版本号需要保持连续。例如,您不能仅选择 TLSv1 和 TLSv1.3。
    • 加密套件:默认选择全部加密套件。

      注意

      使用未被选中的加密套件的请求将无法正常访问,请谨慎修改。

    保持默认(全选)

    长连接

    配置客户端与 WAF 之间的长连接限制。

    • 长连接保持时间:客户端与 WAF 之间的长连接保持时间。默认为 75 秒,支持配置 0~900 秒。
    • 复用长连接请求数:单个已建立的 TCP 连接上可以重复发送多个请求的个数。默认为 100 个,支持配置 60~1000 个。

    保持默认:

    • 长连接保持时间:75 秒
    • 复用长连接请求数:100 个

    请求 Body 最大值

    可接收客户端请求正文的最大值。默认为 60 MB,支持配置 1~10240 MB。

    保持默认:60 MB

    源站配置

    回源方式

    • 公网回源:回源地址为公网 IP。
    • VPC 内私有 IP 地址:回源地址为私有 IP,需选择对应火山引擎 VPC。

    公网回源

    负载均衡

    • 加权轮询(WRR):权重值越高的后端服务器,被轮询到的次数(概率)越高。
    • 加权最小连接数(WLC):将请求分发给“当前连接/权重”比值最小的后端服务器。
    • 源地址哈希(SH):基于源 IP 地址的一致性哈希,相同源地址的请求会调度到相同的后端服务器。

    加权轮询

    源站配置

    • 分组
      • 默认分组:默认包含全部未自定义配置回源规则的接入端口。当自定义分组规则未命中,默认匹配默认分组规则。
      • 自定义分组
        • 单击添加可生成一个自定义分组,需要配置生效的端口范围。
        • 支持编辑自定义分组名称,不超过 15 个字符,支持中文、英文、数字和下划线。
        • 支持删除自定义分组,删除分组后将清空组内回源配置,并对组内接入端口按照默认分组配置执行回源操作。
    • 接入端口配置
      • 默认分组的接入端口范围为全部未自定义配置回源规则的接入端口。
      • 自定义分组支持在添加的端口范围内选择多个目标接口。不同自定义分组间不得重复选择。

      说明

      例如,您在网站配置中选择了 HTTP 协议下的80818283端口,和 HTTPS 协议下的4434443端口,且在源站配置的自定义分组 1 中选择了 HTTP 协议下的8081端口,则余下的82834434443端口都将适用默认分组的回源规则配置。

    • 源站地址配置
      • 源站协议:即从 WAF 回源至源站的回源协议,支持 HTTP/HTTPS 回源。

        注意

        未开启协议跟随时,同一地域下不同分组间的源站协议将全局保持一致。例如:您将自定义分组中的某源站配置的协议设置为 HTTP 协议,则所有分组(包括默认分组)下的源站协议都将设置为 HTTP 协议。

      • 源站地址:需要接入 WAF 的网站所提供服务的源站 IP 地址。
      • 源站端口:源站地址对应的端口。
      • 权重:表示后端服务器收到请求的概率,支持设置 1-100 的任意整数。

        说明

        • 权重数字不直接代表比重。
        • 如您希望多个源站的轮询概率相同,可设置同样的权重值。
        • 源站权重之和可以大于 100。
        • 当负载均衡算法为加权轮询时,每个源站被轮询的概率为(该源站的权重)/(源站组中所有源站权重之和)。因此权重越大,收到请求的概率越大。
        • 当负载均衡算法为加权最小连接数时,计算数值为(当前连接数)/(该源站的权重),值最小的源站收到请求的概率最大。
        • 当监听器调度算法为源地址哈希时,无需配置权重。

      说明

      每个最源站地址组最多支持添加 20 个源站。

    说明

    由于网站配置勾选了 HTTP 和 HTTPS 协议,并且开启了协议跟随,所以需要分别配置支持 HTTP 和 HTTPS 协议的源站信息。

    例如:
    在默认分组中,添加以下 2 条源站配置。

    • 源站 1 :
      • 源站协议:HTTP
      • 源站地址:192.1..
      • 源站端口:80
      • 权重:100
    • 源站 2:
      • 源站协议:HTTPS
      • 源站地址:192.2..
      • 源站端口:443
      • 权重:40

    说明

    由于负载均衡算法为加权轮询,源站 1(权重为 100) 的轮询概率更高。

    回源能力

    建连超时时间

    WAF 和后端服务器的建连超时时间,建议大于健康检查超时时间。默认为 4 秒,支持配置 4~120 秒。

    保持默认:4 秒

    写连接超时时间

    WAF 将请求传输给后端服务器的超时时间。默认为 60 秒,支持配置 30~3600 秒。

    保持默认:60 秒

    读连接超时时间

    WAF 从后端服务器读取响应的超时时间。默认为 60 秒,支持配置 30~3600 秒。

    保持默认:60 秒

    回源长连接

    WAF 回源时,长连接可复用的个数。默认为 100 个,支持配置 60~1000 个。

    保持默认:100 个

    回源重试

    WAF 回源失败后,可重试的次数。默认为 3 次,支持配置 1~10 次。

    保持默认:3 次

    空闲长连接超时时间

    WAF 与后端服务器建立请求的长连接空闲时间。默认为 15 秒,支持配置 1~60 秒。

    保持默认:15 秒

    SNI 配置

    • 如果您的源站 IP 绑定了多个域名,且 WAF 以 HTTPS 协议回源访问您的源站,您需要配置回源 SNI(Server Name Indication)指明请求的具体域名。源站根据配置的 SNI 名称返回对应域名的 SSL 证书,以确保正常回源。
    • 如果未配置域名,则根据流量中的实际 host 回源。

    关闭

  6. 单击提交
    站点添加成功后,WAF 会在页面返回防护域名的 CNAME 值和 WAF 的回源 IP 地址。
    Image

后续操作

  1. 在源站服务器的安全防护软件上放行云 WAF 的回源 IP 地址,参考放行回源 IP 地址
  2. 验证转发配置是否生效,参考验证转发配置
  3. 将业务 DNS 解析修改为 WAF 生成的 CNAME,参考修改 DNS 解析