Google Golang SDK 使用自定义 CA 包

Google Golang SDK Use Custom CA Bundle

我正在尝试使用 Google Cloud Client Library for Go (https://godoc.org/cloud.google.com/go/pubsub) 从 Google Cloud Pub/Sub 订阅中提取消息。

我正在通过一个使用 TLS 拦截的 HTTP 代理,所以我需要 pubsub 客户端(它似乎正在使用 gRPC)使用自定义 CA 证书包来进行请求验证。我怎样才能使这项工作?另外,除了设置 http_proxy 和 https_proxy 之外,还有其他配置代理支持的方法吗?

对于任何其他对此问题的答案感兴趣的人,您可以设置一个环境变量:

export GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/path/to/my/cert/bundle.pem

此外,您可以通过设置此环境变量来显示更多调试信息:

export GRPC_VERBOSITY=DEBUG

有关您可以设置的所有环境变量的列表,请参见此处:https://github.com/grpc/grpc/blob/master/doc/environment_variables.md