透明接入模式目前支持接入阿里云ALB实例、SLB实例(七层监听)、SLB实例(四层监听)、ECS实例的Web流量。本文介绍了在配置透明接入时,如何根据Web应用的部署架构,为服务器实例配置引流端口(即为服务器实例上提供Web服务的端口开启透明接入,将端口流量引流到WAF进行防护)。

  • 通过透明接入模式添加域名

    如果您还没有使用透明接入添加域名,可以在 WAF控制台 网站接入 页面,单击 网站接入 ,并在 添加域名 配置向导中选择 透明接入 模式,然后可以在 添加域名信息 模块中配置引流端口(具体可根据您的服务器所在实例类型,参照下文说明进行配置)。

  • 编辑已添加的域名配置(透明接入)

    如果您已经使用透明模式添加过域名,可以在 WAF控制台 网站接入 页面,单击域名配置(透明接入)操作列下的 编辑 ,然后可以在 添加域名信息 模块中配置引流端口(具体可根据您的服务器所在实例类型,参照下文说明进行配置)。

透明接入

注意事项

  • 引流端口配置针对服务器实例+端口生效。您为某个服务器实例+端口配置引流后,则端口的全部流量默认接入WAF防护。

    如果多个域名共用同一个服务器端口,则您为其中任意一个域名配置引流,都表示将使用同一个端口的所有域名的流量接入WAF防护,暂不支持仅将端口上部分域名的流量接入WAF防护。

    假设您的ECS实例上有域名A和B都通过80端口提供服务,则您为域名A配置端口引流后,则默认域名B的流量也接入WAF防护。这种情况下,您在为域名B配置端口引流时,端口配置区域默认已选中80端口(配置域名A时添加的),您无需修改该配置,只需确认即可。

  • 四层SLB实例、ECS实例上的HTTPS网站配置端口引流时,您必须上传服务器实例+端口下的所有SSL证书,否则可能引发业务异常:
    • 如果端口下只有一个SSL证书,仅上传默认证书即可。
    • 如果端口下有多个SSL证书,需要上传默认证书和所有扩展证书。

配置示例

以下示例分别介绍了单服务器多域名(不共用端口)单服务器多域名(共用端口)多服务器多域名(共用端口)场景下,如何为不同域名配置端口引流,供您参考:

  • 场景1:我有1个服务器实例(server1)和2个域名(domain1和domain2),实例(server1)的80端口监听域名(domain1)的流量,实例(server1)的443端口监听域名(domain2)的流量。
    这种情况下,您可以参照以下步骤,依次为两个域名配置端口引流:
    1. 添加域名(domain1)到WAF防护:在端口引流配置中,选中80端口。ecs11
      添加完成后,实例(server1)80端口的Web流量(对应域名domain1)已接入WAF防护。 ecs12
    2. 添加域名(domain2)到WAF防护:在端口引流配置中,选中443端口。
      说明 此时80端口已默认选中,表示域名(domain1)的流量已接入WAF防护。您无需修改默认选中端口的状态。
      ecs21
      添加完成后,实例(server1)443端口的Web流量(对应域名domain2)已接入WAF防护。 ecs22
  • 场景2:我有1个服务器实例(server1)和2个域名(domain1和domain2),实例(server1)的80端口监听域名(domain1和domain2)的流量。
    这种情况下,您可以参照以下步骤,依次为两个域名配置端口引流:
    1. 添加域名(domain1)到WAF防护:在端口引流配置中,选中80端口。ecs-21
      添加完成后,实例(server1)80端口的Web流量(对应域名domain1和domain2)已接入WAF防护。 ecs-22
      此时,域名列表中只有域名(domain1),表示您可以为domain1设置网站防护策略并查询与domain1相关的防护数据;domain2的流量仅受到WAF默认防护策略的保护。 ecs-23
    2. 添加域名(domain2)到WAF防护:端口引流配置中已默认选中80端口,无需修改,直接确认即可。ecs-24
      添加完成后,域名(domain2)将会出现在域名列表,表示您可以为domain2设置网站防护策略并查询与domain2相关的防护数据。 ecs-25
  • 场景3:我有2个服务器实例(server1和server2)和3个域名(domain1、domain2和domain3),实例(server1)的80端口监听域名(domain1和domain2)的流量,实例(server2)的80端口监听域名(domain2和domain3)的流量。
    这种情况下,如果您要为域名(domain2)配置端口引流,则需要在端口引流配置中,选中实例(server1)的80端口和实例(server2)的80端口。 ecs3-1
    添加完成后,实例(server1)80端口的Web流量(对应域名domain2的部分流量的domain1的全部流量)和实例(server2)80端口的Web流量(对应域名domain2的部分流量和domain3的全部流量)已接入WAF防护。 ecs3-2
    此时,域名列表中只有域名(domain2),表示您可以为domain2设置网站防护策略并查询与domain2相关的防护数据;domain1在实例(server1)80端口的流量和domain3在实例(server2)80端口的流量仅受到WAF默认防护策略的保护。 ecs3-3
    如果您继续为域名(domain1和domain3)配置端口引流,则在端口引流配置中,默认已选中实例(server1)的80端口和实例(server2)的80端口,您无需修改该配置,直接确认即可。
    说明 默认选中的端口表示域名(domain2)的Web流量已接入WAF防护。您无需修改默认选中端口的状态。
    ecs3-4
    添加完成后,域名(domain1和domain3)将会出现在域名列表。 ecs3-5

ALB实例端口引流

推荐场景:您部署了应用型负载均衡(ALB)实例作为Web服务的入口,需要为ALB实例监听端口上的流量开启WAF防护。

前置步骤:在端口配置区域,单击ALB类型页签。

实例列表说明:实例列表展示了负载均衡服务中已创建的公网ALB实例, 端口号列展示了ALB实例下已创建的HTTP或HTTPS监听对应的监听端口。 ALB类型
为监听端口开启WAF防护的方法:在 负载均衡控制台,为ALB实例创建HTTP或HTTPS监听,并在监听配置中选中 为监听开启WAF安全防护。关于为ALB实例创建HTTP、HTTPS监听的具体操作,请参见 添加HTTP监听添加HTTPS监听为监听开启WAF安全防护
如果您已经创建过HTTP或HTTPS监听,可以通过修改监听配置,为监听开启或关闭 WAF安全防护修改监听配置
注意 在WAF控制台 透明接入模块的 ALB类型实例列表中,您只可以查看已创建的HTTP或HTTPS监听是否开启了WAF防护,不支持修改。如需修改,必须在负载均衡控制台操作。

七层SLB实例端口引流

推荐场景:您部署了负载均衡(SLB)实例作为Web服务的入口,并且已创建HTTP或HTTPS七层协议监听,需要为SLB实例监听端口上的流量开启WAF防护。

前置步骤:在端口配置区域,单击七层SLB类型页签。

实例列表说明七层SLB类型实例列表展示了负载均衡服务中已创建的公网SLB实例, 端口号列展示了SLB实例下已创建的HTTP或HTTPS监听对应的监听端口。 七层SLB类型

为监听端口开启WAF防护的方法:在WAF控制台透明接入模块的七层SLB类型实例列表中,从端口号列(即已有的HTTP或HTTPS监听端口范围中)选中端口。

选中端口表示通过该端口访问网站的流量会经过WAF,并受到WAF的检测和防护。对于未选中的端口,通过该端口访问网站的流量直接从客户端发送到源站服务器,将不会经过WAF。
注意 如果某个端口同时监听多个网站域名的流量,则选中端口后,所有网站域名流量默认都开启了WAF防护。目前暂不支持单独为某个网站域名的流量开启防护。

如果实例列表的端口号列提示暂无应用端口,表示该实例下尚未创建HTTP或HTTPS监听。您需要先在负载均衡控制台为该实例创建HTTP或HTTPS监听,然后才可以在WAF控制台为端口流量开启WAF防护。关于创建七层HTTP、HTTPS监听的具体操作,请参见添加HTTP监听添加HTTPS监听

四层SLB实例端口引流

推荐场景 :您部署了负载均衡(SLB)实例作为Web服务的入口,并且已创建TCP四层协议监听,需要为SLB实例监听端口上的流量开启WAF防护。

前置步骤:在端口配置区域,单击四层SLB类型页签。

实例列表说明四层SLB类型实例列表展示了负载均衡服务中已创建的公网SLB实例, 端口号列展示了已经添加到WAF控制台的TCP监听端口。 四层SLB类型

操作步骤

该场景下,您必须先将已开启的监听端口添加到WAF,然后可以为已添加到WAF的端口开启防护。具体操作步骤如下:

  1. 将已有的TCP监听端口添加到WAF。
    注意 您只有已经在 负载均衡控制台为SLB实例创建了TCP协议监听,然后才能在WAF控制台将已有的TCP监听端口添加进来。关于创建四层TCP协议监听的具体操作,请参见 添加TCP监听
    1. 在WAF控制台透明接入模块的四层SLB类型实例列表中,单击端口号列的添加
    2. 添加端口对话框,选择一个已开启TCP监听的端口号和该端口关联的应用协议类型(HTTP、HTTPS)。添加端口
    3. 可选:如果是HTTP端口,无需执行该步骤。如果是HTTPS端口,按照页面提示,上传对应的默认证书和扩展证书(最多可以添加3个)。
      证书说明如下:
      • 默认证书 :表示服务器在收到客户端的HTTPS请求时,默认返回给客户端的证书。如果您的服务器只使用了一个SSL证书,则只需要上传默认证书。
      • 扩展证书 :表示服务器在收到客户端的HTTPS请求时,通过SNI字段匹配后(检查请求中SNI扩展包含的域名是否和扩展证书的域名匹配),返回给客户端的匹配证书。如果客户端发送的SNI和扩展证书不匹配,则使用默认证书。

        SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。它的工作原理是:在与服务器建立SSL连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。

      您可以从以下上传方式中选择一种方式上传证书:
      • 手动上传:需要手动填写证书名称证书文件内容证书私钥内容
      • 选择已有证书(推荐):只需从SSL证书服务的已有证书列表,选择透明接入时要使用的证书。

        如果您的证书不在SSL证书服务的证书列表,您可以单击云盾-证书服务,先将您的证书上传到SSL证书服务进行统一管理,再选择已有证书。

  2. 为已添加到WAF的端口开启防护:在WAF控制台透明接入模块的四层SLB类型实例列表中,从端口号列已添加的端口范围中选中端口。
    选中端口表示通过该端口访问网站的流量会经过WAF,并受到WAF的检测和防护。对于未选中的端口,通过该端口访问网站的流量直接从客户端发送到源站服务器,将不会经过WAF。
    注意 如果某个端口同时监听多个网站域名的流量,则选中端口后,所有网站域名流量默认都开启了WAF防护。目前暂不支持单独为某个网站域名的流量开启防护。

ECS实例端口引流

推荐场景:您直接使用ECS实例作为Web服务的入口,需要为ECS实例上的HTTP或HTTPS流量开启WAF防护。

前置步骤:在端口配置区域,单击ECS类型页签。

实例列表说明ECS类型实例列表展示了云服务器ECS服务中已创建的具有公网IP的ECS实例, 端口号列展示了已经添加到WAF的端口。 ECS类型

操作步骤

该场景下,您必须先在WAF添加要防护的端口,然后可以为已添加到WAF的端口开启防护。具体操作步骤如下:

  1. 将要防护的端口添加到WAF。
    1. 在WAF控制台透明接入模块的ECS类型实例列表中,单击端口号列的添加
    2. 添加端口对话框,将端口号设置为源站ECS实例上使用的HTTP或HTTPS应用端口,并选择对应的协议类型(HTTP、HTTPS)。添加端口
    3. 可选:如果是HTTP端口,无需执行该步骤。如果是HTTPS端口,按照页面提示,上传对应的默认证书和扩展证书(最多可以添加3个)。
      证书说明如下:
      • 默认证书 :表示服务器在收到客户端的HTTPS请求时,默认返回给客户端的证书。如果您的服务器只使用了一个SSL证书,则只需要上传默认证书。
      • 扩展证书 :表示服务器在收到客户端的HTTPS请求时,通过SNI字段匹配后(检查请求中SNI扩展包含的域名是否和扩展证书的域名匹配),返回给客户端的匹配证书。如果客户端发送的SNI和扩展证书不匹配,则使用默认证书。

        SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。它的工作原理是:在与服务器建立SSL连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。

      您可以从以下上传方式中选择一种方式上传证书:
      • 手动上传:需要手动填写证书名称证书文件内容证书私钥内容
      • 选择已有证书(推荐):只需从SSL证书服务的已有证书列表,选择透明接入时要使用的证书。

        如果您的证书不在SSL证书服务的证书列表,您可以单击云盾-证书服务,先将您的证书上传到SSL证书服务进行统一管理,再选择已有证书。

  2. 为已添加到WAF的端口开启防护:在WAF控制台透明接入模块的ECS类型实例列表中,从端口号列已添加的端口范围中选中端口 。
    选中端口表示通过该端口访问网站的流量会经过WAF,并受到WAF的检测和防护。对于未选中的端口,通过该端口访问网站的流量直接从客户端发送到源站服务器,将不会经过WAF。
    注意 如果某个端口同时监听多个网站域名的流量,则选中端口后,所有网站域名流量默认都开启了WAF防护。目前暂不支持单独为某个网站域名的流量开启防护。