在 Azure 应用服务中具有信任库的 Spring Boot 容器

Posted

技术标签:

【中文标题】在 Azure 应用服务中具有信任库的 Spring Boot 容器【英文标题】:Spring boot container With truststore in Azure App Service 【发布时间】:2022-01-19 05:55:26 【问题描述】:

我有一个传统的 spring boot 应用程序,它使用一个注入 RestTemplate 的公共库,该库默认配置为进行一些 HTTPS 调用,这意味着它总是在类路径中寻找信任库。当我们启用信任库时,Spring Boot 默认需要一个密钥库

问题

我在应用服务中成功容器化并部署了这个应用,但是应用服务失败并出现以下错误

错误请求 主机和端口的这种组合需要 TLS。

大多数 cmets 建议应用服务容器需要在 HTTP 上运行,端口为 80,而不是 HTTPS。

问题

    有没有办法部署这个运行 HTTPS 的容器以部署在 App 服务上并在端点处获得调用? 如果像信任第三方服务器一样需要信任库,人们如何在 Azure 应用服务中部署 Spring Boot 应用?

感谢任何帮助

【问题讨论】:

【参考方案1】:

如果我没看错,您正在寻找使用信任库进行出站 SSL。如果您将信任存储证书存储在 Azure Key Vault 中,则可以使用 Azure Key Vault Certificate Spring Boot starter 来完成您需要的操作。

见https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/spring/azure-spring-boot-starter-keyvault-certificates/README.md#client-side-ssl

【讨论】:

以上是关于在 Azure 应用服务中具有信任库的 Spring Boot 容器的主要内容,如果未能解决你的问题,请参考以下文章

Azure 应用服务上的受信任根证书

WCF 无法为具有权限的 SSL/TLS 安全通道建立信任关系

如何配置 GitHub Actions 以构建依赖于私有存储库的 Azure 静态 Web 应用程序?

Azure 托管服务总线:“X.509 证书 CN=servicebus.windows.net 不在受信任的人员存储中。”

如何将该根证书作为受信任的根导入 Azure 应用服务?

30.从 Azure 备份服务器恢复数据