You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让OpenShift上的Spring Boot Jar访问/etc/trusts下的证书?

解决Spring Boot在OpenShift中访问/etc/trusts目录文件的问题

问题核心

报错提示找不到etc/trusts/keystore.p12,是因为直接传入路径时,Spring的ResourceLoader默认会从**classpath(Jar包内部资源)**查找,而/etc/trusts是OpenShift容器的文件系统路径,不属于classpath范围,所以无法定位到文件。

解决方案

在配置的fileLocation路径前加上file:协议前缀,明确告诉ResourceLoader去服务器文件系统中查找资源:

  • 正确的路径配置应为:file:/etc/trusts/keystore.p12 和 file:/etc/trusts/truststore.p12

你的代码无需修改,保持现有逻辑即可:

val resource: Resource = resourceLoader.getResource(fileLocation)
return resource.inputStream

额外验证点

  • 确认OpenShift的Config Map已正确挂载到容器的/etc/trusts目录,可进入容器执行ls /etc/trusts检查文件是否存在
  • 确保应用运行的用户对/etc/trusts目录及文件有读取权限,可通过ls -l /etc/trusts查看权限设置

内容的提问来源于stack exchange,提问作者naptoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 01:19:50