功能简介
如果您需要确认当前在 EdgeOne 内配置的节点缓存规则、自定义 Cache Key 等配置是否已针对您的资源生效,EdgeOne 提供了自助调试工具来帮助您获取节点缓存 TTL,资源是否可缓存,Cache key 等信息,方便您进行业务配置调试。开启自助调试后,您可以通过指定的客户端 IP 来发起 URL请求,在请求中携带
EO-Debug-Headers: all
头部,即可根据返回的响应头来查看该资源在节点内是否缓存、对应的 Cache Key 值、缓存时间。![](https://qcloudimg.tencent-cloud.cn/image/document/46c9906e5a52b17a4a3e624c895549a5.png)
使用场景
若您在控制台规则引擎里配置了较复杂的缓存策略、自定义 cache key,需要验证配置是否生效,可以通过该功能进行验证。
操作步骤
例如:当前站点
example.com
下的域名 www.example.com
,当前已针对 .jpg
后缀文件配置需要在 EdgeOne 节点内缓存 600 秒;缓存 Cache Key 配置为保留指定参数 a 作为缓存键。配置完成后,需要验证当前配置是否已生效,可按照如下操作步骤验证:1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,单击站点列表,在站点列表内单击需配置的站点。
2. 在站点详情页面,单击诊断工具 > 自助调试。
3. 在自助调试页面,单击 “开关”,开启自助调试功能。
![](https://qcloudimg.tencent-cloud.cn/image/document/3d9c2cd08cbb4182898c7d89be58d71b.png)
4. 开启调试模式后,需要设置有效期,以及允许访问的客户端来源。其中,时间范围为 1-365 天,默认 7 天。客户端 IP 可输入 100 个,支持填写 IPv4 以及 IPv6 的 IP/IP 段,0.0.0.0/0 表示允许所有 IPv4 客户端进行调试;::/0 表示允许所有 IPv6 客户端进行调试。
5. 单击保存,则配置允许的客户端 IP 在有效时间内可进行 debug 调试。
![](https://qcloudimg.tencent-cloud.cn/image/document/1f4eb08136034fdaca4a4f8c07a541c4.png)
6. 通过以上指定的客户端 IP 来源,在 Mac/Linux 环境下,发起 curl 请求进行验证,例如:
curl -voa 'http://www.example.com/test.jpg?a=1' -H 'EO-Debug-Headers: all'
。请求结果如下:![](https://qcloudimg.tencent-cloud.cn/image/document/bfa2353ffb47467773a86c82937593ee.png)
在响应头中,可以看到该请求对应的 Cache Key、缓存状态、缓存时间,与示例中的配置一致,即当前配置已生效。
相关参考
在开启自助调试模式下时,响应的 debug 头部说明如下:
头部名称 | 功能说明 | 返回值的含义说明 |
EO-Debug-Status | 用于标识自助调试模式是否开启。 | on:开启状态,且请求客户端 IP 在白名单内&请求时间在有效期内; off:关闭状态,或开启状态但请求时间超出有效期; forbidden:开启状态,但请求客户端 IP 不在白名单内。 |
EO-Debug-ClientIp | 发起 Debug 请求的 ClientIp。 | 发起 Debug 请求的客户端 IP。当开启自助调试但 EO-Debug-Status 值为 forbidden 时,可以检查下是否请求的客户端 IP 不在允许的 IP/IP 段范围内。 |
EO-Debug-Cacheable | yes:可缓存内容 no:不可缓存内容 | |
EO-Debug-CacheKey | 例如: www.example.com/test.jpg a=1 ,指该请求 URL 资源在 EdgeOne 内生成的 Cache Key | |
EO-Debug-CacheTTL | 列表值,包括数字和时间单位。d 表示天,h 表示小时,m 表示分钟,s 表示秒,例如: 3d0h0m0s 表示缓存TTL是 3 天; 0d0h5m0s 表示缓存是 5 分钟; 0d0h0m5s 表示缓存是 5 秒。 |