使用自定义Certificate.crt从GCP数据流(Apache Beam/Java SDK)调用Rest http



我们遇到了从GCP数据流(基于Apache Beam/Java SDK(到GCP内部服务的REST调用问题,该服务具有自定义自签名证书。

我们试图将运行时中的证书放入/java//cacerts文件,它运行良好,但Java读取/cacert在启动期间,我们被迫覆盖SSlContextX509TrustManager,将其放入HttpClient并在http调用之前和加载自定义证书之后在运行时中重新加载cacert文件(遵循此示例(。

从我的角度来看,它看起来相当难实现。

那么问题来了:这个问题有什么简单的解决方法吗?比如在GCP Dataflow Worker运行之前运行.sh脚本,并在JVM启动之前通过cli更新cacert文件。

我们还通过gcloudcli启动了Dataflow,因此我们不能只将自定义cacert放到项目中,并通过Java选项将JVM指向它。

谢谢你的建议!

我们对使用自签名证书的服务进行了类似的身份验证。

你总是可以为你的工人使用自定义容器,并将证书复制到dockerfile中的cacerts?通过这种方式,工人将始终拥有证书。(只有使用Dataflow Runner v2的管道才支持自定义容器(

相关内容

最新更新