操作场景
本文介绍如何在 Kong 云原生 API 网关上通过 Kong Bot Detection 插件屏蔽爬虫访问。
Bot Detection插件通过检查HTTP请求中User Agent字段,识别发起请求的用户代理软件信息,拒绝爬虫请求。该插件内置了一些基础的校验规则用于校验请求,您可以参见 爬虫示例 定义爬虫请求。
前置条件
已购买 Kong 网关实例,详情请参见 实例管理。
配置了后端(Service)以及路由(Route)。
插件配置
字段名称 | 字段说明 |
allow | 使用正则表达式定义允许放行的 User-Agent 列表。 |
deny | 使用正则表达式定义拒绝放行的 User-Agent 列表。 |
操作步骤
1. 登录 TSE 控制台,进入需要配置限流插件的 Kong 网关实例详情页,在 Konga 控制台页面查看管理控制台登录方式。
2. 登录 Konga 管理控制台,进入需要反爬虫的 Route 详情页,单击 Add Plugin,在插件市场的 Security 分组中选择 Bot Detection 插件,单击 Add Plugin。
3. 插件配置中使用正则表达式填写需要配置限制的代理信息,例如,拒绝来自 Firefox 的爬虫请求,在 deny 中配置
[".*Firefox.*"]
,单击 enter 键。
4. 使用火狐浏览器发起 API 请求,由于请求头带有
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0
,请求被拒绝。