配置自定义响应页面

业务接入Web应用防火墙(Web Application Firewall,简称WAF)后,可通过自定义响应功能,配置客户端请求被拦截或触发滑块验证时返回的响应页面,以匹配业务界面风格并提升用户体验。

工作原理

默认情况下,当客户端请求命中WAF的防护规则,且该规则动作设置为拦截滑块严格滑块时,WAF 将返回系统默认的响应页面。可以通过配置自定义响应功能,灵活定义以下内容:

  • HTTP 状态码(如 403、406、429 等)

  • 响应头(Headers)

  • 响应体(Body),支持 HTML、JSON 等格式

从而打造与业务风格一致的响应页面,提升用户体验。

默认拦截页面

默认滑块验证页面

image

image

适用范围

  • 版本要求:已开通包年包月企业版、旗舰版,或按量付费版WAF实例。

  • 配置前提:已存在防护对象(已将Web业务接入WAF),若尚未将业务接入,请参见接入概述

  • 支持的防护模块:除Web 核心防护规则模块外,其他所有可配置规则动作为拦截滑块严格滑块的模块均受支持。

  • 接入形态限制:不支持函数计算FC,MSE需升级至xagent2.0.18版本及以上,APIG需升级至xagent2.1.13版本及以上。

操作步骤

配置响应页面

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,选择防护配置 > 高级配置 > 自定义响应

  3. 响应页面配置页面,按业务需求进入拦截页面滑块页面页签,单击新建

    拦截页面

    • 名称:设置一个便于识别的名称。

    • 响应码:设置客户端请求被WAF拦截时,WAF返回给客户端的HTTP状态码。取值范围:200~600。默认拦截响应码为405。不支持设置204、304、600、498。

    • 自定义header:设置客户端请求被WAF拦截时,WAF在返回给客户端的响应中包含的Header字段。每个HeaderHeaderHeader组成,最多可配置十个。

    • 页面响应体:设置拦截响应页面的源代码。配置要求如下:

      • 支持使用HTML、JSON等格式。

      • 代码包含的字符长度不超过4000。

    重要

    如需在响应页面中保留请求ID,用于通过日志服务查询被拦截的请求,请在适当位置引用{::trace_id::}字符串。

    配置示例

    • 响应码:403。

    • 自定义header

      • HeaderContent-Type

      • Headertext/html; charset=utf-8

    • 页面响应体

      <!DOCTYPE html>
      <html>
      <head>
        <meta charset="UTF-8">
        <title>Request Blocked</title>
      </head>
      <body>
        <h1>Access Denied</h1>
        <p>Your request has been blocked by the security policy.</p>
        <p>Request ID: {::trace_id::}</p>
      </body>
      </html>

    滑块页面

    • 名称:设置一个便于识别的名称。

    • 响应码:客户端请求命中WAF滑块规则时,WAF返回给客户端的HTTP状态码,默认为200。不支持自定义。

    • 自定义header:设置客户端请求命中WAF滑块规则时,WAF在返回给客户端的响应中包含的Header字段。每个HeaderHeaderHeader组成,最多可配置十个。默认包含如下配置,不支持修改。

      • HeaderContent-Type

      • Headertext/html; charset=utf-8

    • 预定义自定义样式:设置WAF返回给客户端的滑块样式。支持配置语言、图标、文案、是否透出请求ID等信息,单击预览,可查看滑块验证页面效果。

应用于防护规则或防护对象

响应页面配置完成后,可将其应用于防护规则或防护对象:

  • 应用于防护规则:当请求命中该规则时,无论涉及哪些防护对象,均返回该规则绑定的自定义响应页面。

  • 应用于防护对象:当请求访问该防护对象并命中任意关联的防护规则时,返回该对象绑定的自定义响应页面。

若防护规则与防护对象均配置了自定义响应页面,则以防护规则的配置为准(防护规则优先级更高)。

应用于防护规则

自定义规则防护模块为例,在配置规则动作拦截滑块严格滑块的防护规则时,支持选择已创建的自定义响应页面。具体操作,请参见在自定义规则防护模板中添加防护规则image

应用于防护对象

  1. 进入防护配置 > 高级配置 > 自定义响应页面。

  2. 进入防护对象配置页签,定位到需配置的防护对象,单击其操作列的配置,替换默认的拦截页面滑块页面