客户端 TLS 认证¶
统计¶
每一个配置的客户端 TLS 认证过滤器都有一个基于 auth.clientssl.<stat_prefix>. 的统计信息,统计信息如下所示:
名称 |
类型 |
描述 |
---|---|---|
update_success |
Counter |
更新成功的总数 |
update_failure |
Counter |
更新失败的总数 |
auth_no_ssl |
Counter |
没有 TLS 而忽略的连接总数 |
auth_ip_allowlist |
Counter |
IP allowlist 允许的连接总数 |
auth_digest_match |
Counter |
证书匹配通过的连接总数 |
auth_digest_no_match |
Counter |
证书匹配未通过的连接总数 |
total_principals |
Gauge |
加载总数 |
REST API¶
-
GET
/v1/certs/list/approved
¶ 认证过滤器会在每次刷新间隔中调用这些 API 接口以获取当前已批准的证书(certificates)/主体(principals)列表。预期的 JSON 响应如下所示:
{ "certificates": [] }
- certificates
(required, array) 获取的证书/主体列表。
每个证书对象被定义为:
{ "fingerprint_sha256": "...", }
- fingerprint_sha256
(required, string) 已批准的客户端证书的 SHA256 哈希值。Envoy 会将该哈希值与所提交的客户端证书进行匹配,以确定是否存在摘要匹配。