Bazel远程缓存配置TLS证书后HTTPS/GRPCS访问异常如何排查?
这两个报错不完全是自签名根CA导致的,分别对应两个不同的配置问题:
- HTTPS侧的
PKIX path building failed报错:核心原因是Bazel客户端未信任你自定义的自签名根CA。Java运行时默认仅信任系统内置的根CA证书,你自行签发的根CA不在默认信任列表中,因此证书路径校验失败。
修复方法:执行bazel命令时添加--tls_certificate=<自签名根CA证书本地路径>参数,或者将你的自签名根CA导入到客户端设备的Java信任库中。 - GRPCS侧的
No subject alternative names present报错:核心原因是你生成的服务端证书未配置*使用者备用名称(SAN)*字段。当前TLS校验规则会强制检查SAN字段,仅配置证书CN字段无法通过校验:如果通过IP访问服务端,需要在SAN中添加对应IP条目;如果通过域名访问服务端,需要在SAN中添加对应域名条目。你参考的证书生成示例未适配你实际的服务访问地址,因此触发该报错。
修复完成后可使用如下命令测试访问:
# HTTPS访问测试 bazelisk test --remote_cache=https://<SERVER_IP>:<SERVER_PORT> --tls_certificate=/path/to/your/ca_cert <TEST_TARGET> # GRPCS访问测试 bazelisk test --remote_cache=grpcs://<SERVER_IP>:<SERVER_PORT> --tls_certificate=/path/to/your/ca_cert <TEST_TARGET>
内容的提问来源于stack exchange,提问作者Maf
相关产品推荐
相关产品推荐

