crt.sh 速率限制 —— 我们实际知道的

crt.sh 没有公开速率限制,但任何尝试脚本调用它的人都撞过墙。这里是社区多年测试的共识,以及几种让 recon 流水线继续工作的方法。

尽我们所知的数字

为什么有这个限制

crt.sh 用一个 PostgreSQL 实例查询几十亿行。一个客户端的并发重查询可以把整个服务挤死。Sectigo 把 crt.sh 当免费公共服务运营 —— 速率限制是为了保持服务可用,不是为了变现。

如何让你的流水线继续工作

1. 激进缓存

CT 数据只会增长。一旦你拿到某域名的证书历史,只有新条目重要。用 ETag/条件请求查自己的缓存,别去打 crt.sh。

2. 用通配符查询替代逐子域循环

一次 %.example.com 比 200 次单独子域查询便宜,即使通配符单次成本更高。

3. 使用公开了配额的服务

CT Radar 免费档每天 100 次搜索,超额时显式返回 429 + Retry-After header。Pro 档提到 10K/天。Censys、Cert Spotter 等也有公开配额。

4. 自建 CT 镜像

如果量够大,用 certspotter(开源)直接消费 CT 日志自己索引。crt.sh、Censys、CT Radar 内部都是这么做的 —— 没有捷径。

撞了 crt.sh 限制?试试 CT Radar

免费档每天 100 次搜索。配额公开。真正的 429 响应。没有神秘事件。

立即搜索 →