关于 Vitrina Engine 监控工具
如果您正在读这段话,说明有一个自称 VitrinaEngine 的程序正在请求您的站点。它是一个可用性监控工具,而且几乎总是因为站点自己的所有者要求我们进行监控才会出现在那里。
它做什么
Vitrina Engine 检查站点是否正常、响应需要多长时间,以及证书是否即将过期。一次检查就是按固定周期发出的单个请求——最常见的是每分钟一次,绝不会更快。它不爬取:它只请求给定的那一个 URL,不跟随任何链接,也不建立索引。
当我们向客户配置的端点投递 webhook 时,使用的也是同一个标识;那是在他们监控的对象状态发生变化时发出的单个 POST。
如何确认是我们
每个请求都带有这个 User-Agent:
VitrinaEngine/1.0 (+https://vitrinaengine.com/bot)
User-Agent 只是一种声明,任何人都能照抄。所以不要只依赖它——有两种方法可以真正验证请求是否来自我们。
签名——可靠的方式
每个请求都经过加密签名,采用 Web Bot Auth 定义的 HTTP Message Signatures(RFC 9421)。由三个头部承载:
Signature-Agent: "https://vitrinaengine.com"
Signature-Input: sig1=("@authority" "signature-agent");…;tag="web-bot-auth"
Signature: sig1=:…:我们的公钥以 JSON Web Key Set 的形式发布在 /.well-known/http-message-signatures-directory. 这是首选的校验方式。签名无法被重放到另一台主机上,没有我们的私钥就无法伪造,也不依赖任何人的 DNS 是否最新。
反向 DNS——次要的校验方式
我们的探针反向解析到 infinitycurve.com 之下的主机名。要验证某个探针,请把发起连接的地址解析为名称,检查该名称是否以该后缀结尾,然后再把名称正向解析回去,看是否返回同一个地址。这个来回才是证明——单独一条反向记录是由控制该地址段的人设置的。
$ dig +short -x 203.0.113.10 host1234.infinitycurve.com. $ dig +short host1234.infinitycurve.com 203.0.113.10
如果您的边缘节点无法验证签名,可以用这种方式。它只是佐证而非证明,而且依赖各个地址段的运营方所发布的记录——那不是我们的系统,也并非总是配置到位。
我们不发布地址列表,也希望您不要自行整理一份。随着我们部署探针,它们会在主机、服务商和地点之间迁移,因此任何绑定到特定地址或数据中心的规则最终都会失配,而且不会有任何提示。请改为验证签名——无论请求从哪里发出,它都成立。
robots.txt
如果您的 robots.txt 点名了我们,我们会遵守。以下内容会在一小时内停止我们对该路径的检查:
User-agent: VitrinaEngine Disallow: /
我们刻意不把通配规则视为适用于我们。监控项不是爬虫——它只请求某人登记的一个 URL,既不发现什么,也不存储什么——而发布全站禁止规则的站点通常是预发布环境、管理后台和内部工具,而这些恰恰是人们要求我们监控的对象。点名我们的规则含义明确;针对搜索引擎的规则则不然。
如何让它停止
请询问设置它的人。 监控项之所以存在,是因为有人填入了您的 URL,而那个人才能移除它——通常是同事、代理商,或代您行事的托管服务商。这是最快的途径,没有之一。
如果您找不到他们,请发邮件至 support@vitrinaengine.com 并附上被检查的 URL,我们会停止。要我们停止请求某个域名,您不必证明自己拥有它;我们宁可先停下来,再被请求恢复。
屏蔽 User-Agent、使用上面的 robots.txt 规则,或屏蔽这些主机名同样有效,无需我们做任何事。但请清楚这意味着什么:监控项会把站点报告为无法访问,而设置它的人会注意到。
它不做什么
- 它不会爬取、抓取或跟随链接。
- 它不会收集内容、训练任何模型,也不会保留响应正文。
- 它不会尝试登录、提交表单或探测漏洞。
- 它不会无视屏蔽。被拒绝也是一种结果,并且会被如实记录。
Infinity Curve LLC, 76 Vazha-Pshavela Ave, 0186 Tbilisi, Georgia. 关于本页的问题: support@vitrinaengine.com.