bot_verifier_enable_repsheet
启用在 NGINX 中使用信誉表来验证搜索引擎爬虫。
A search index bot verification module for NGINX
·
httpserverlocation
语法bot_verifier_enable_repsheet on | off;
默认值off
上下文http, server, location
参数1
说明
bot_verifier_enable_repsheet 指令通过使用信誉表激活负责爬虫验证的模块,从而使系统能够验证传入请求是否来自合法的搜索引擎爬虫。启用后,该指令在指定上下文(http、server 或 location)生效,允许 NGINX 利用存储在 Redis 数据库中的信誉信息(如果已配置)来评估爬虫请求的真实性。该机制对于减轻与伪装的 user-agent 字符串相关的风险至关重要,并可确保为合法的搜索引擎爬虫授予访问权限,同时阻止不受欢迎或恶意的行为者。
当接收到请求时,模块会检查当前配置中是否存在该指令以确定爬虫验证是否处于激活状态。若已启用,验证过程将把请求的源 IP 地址与由 Redis 维护的缓存进行比对,以便快速查找并确定验证状态。该指令有助于提高性能并节省运行开销,因为它可以避免在高峰流量期间对受信任列表或数据库进行耗时的重复检查。
如果基于信誉表的查找表明爬虫已被验证(成功),则授予访问权限。相反,验证失败会导致请求被拒绝,NGINX 返回 HTTP 禁止状态。因此,bot_verifier_enable_repsheet 不仅简化了爬虫管理,还可确保您的 Web 服务器资源不会被非法请求滥用。
配置示例
location / {
bot_verifier_enable_repsheet on;
bot_verifier_redis_host localhost;
bot_verifier_redis_port 6379;
bot_verifier_redis_connection_timeout 10;
bot_verifier_redis_read_timeout 10;
bot_verifier_redis_expiry 3600;
}⚠
确保 Redis 服务器正在运行且可访问,因为该指令依赖它进行验证。
⚠
使用无效或配置错误的 Redis 连接参数可能导致机器人验证过程中出现错误。
⚠
仅在需要进行机器人验证的上下文中启用该指令,以避免不必要的处理开销。