在 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 容器的主要内容,如果未能解决你的问题,请参考以下文章
WCF 无法为具有权限的 SSL/TLS 安全通道建立信任关系
如何配置 GitHub Actions 以构建依赖于私有存储库的 Azure 静态 Web 应用程序?
Azure 托管服务总线:“X.509 证书 CN=servicebus.windows.net 不在受信任的人员存储中。”