[英]spring boot bootBuildImage paketo ssl cert location?
TLDR: spring 啟動 gradle bootBuildImage
任務失敗並出現 x509 證書驗證錯誤(由於 zscaler)。 在哪里添加根證書?
信息
我們正在使用 spring 引導的 (2.3) 新“bootBuildImage”來構建 docker 映像。
最近,我們的 IT 團隊打開了“zscaler 無處不在”,它有效地將所有 http 和 https 流量通過公司祝福的“中間人”,即使用 DNS 的流量路由到網關/網關
錯誤
在此更改之后,gradle 失敗並出現 X509 證書驗證錯誤:
2021-03-01T08:40:42.120-0600 [QUIET] [system.out] [creator] unable to request https://repo.
spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.7.0/spring-cloud-bindings-1.7.0
.jar
2021-03-01T08:40:42.120-0600 [QUIET] [system.out] [creator] Get "https://repo.spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.7.0/spring-cloud-bindings-1.7.0.jar": x509: certificate signed by unknown authority
202
更多背景
問題
我知道應該能夠在信任存儲中安裝 zscaler 根證書,但不清楚哪個信任存儲? (文件系統在哪里?)
我不清楚為什么'spring cloud download'失敗,但其他下載成功,即這個下載成功:
2021-03-01T08:40:34.790-0600 [QUIET] [system.out] [creator] BellSoft Liberica JRE 8.0.282
: Contributing to layer
2021-03-01T08:40:34.790-0600 [QUIET] [system.out] [creator] Downloading from https://github.com/bell-sw/Liberica/releases/download/8u282+8/bellsoft-jre8u282+8-linux-amd64.tar.gz
2021-03-01T08:40:38.913-0600 [QUIET] [system.out] [creator] Verifying checksum
提前致謝!
在 Github 上也報告了類似的問題,例如與 Spring Cloud 相關的問題,尤其是 Spring 引導項目中的其他問題。
正如上一個提到的問題中所解釋的,目前最好的解決方案可能是自定義應該在構建過程中使用的圖像,正如相關 Github 問題中的評論中所解釋的那樣。
這個想法是生成一個配置了必要證書的新圖像,並將其用作您的builder
基礎(從指示的注釋復制作為示例):
FROM gcr.io/paketo-buildpacks/builder:base
USER root
ADD server.crt /usr/local/share/ca-certificates/server.crt
RUN chmod 644 /usr/local/share/ca-certificates/server.crt \
&& update-ca-certificates
USER cnb
此自定義映像將是 Spring Boot 在您的構建任務中使用的映像。 請參閱相關文檔。
就在幾天前,上述問題還表明,最新的 Spring 啟動快照版本包括綁定功能,允許您使用 Maven 和 Z7B5CC4FB56E11DC7520F7 插件將自定義證書添加到構建器容器。 此功能將於 3 月 18 日在2.5.0-M3
Spring 啟動里程碑中提供。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.