【问题标题】:AWS Amplify use ssl certificate in spring boot backend for httpsAWS Amplify 在 Spring Boot 后端为 https 使用 ssl 证书
【发布时间】:2020-11-26 20:33:39
【问题描述】:

我在 aws amplify 中创建了一个前端,并使用路由 53 创建了一个自定义域 over amplify。 然后我为我的 spring boot 后端 rest api 创建了一个子域,例如 api.domain.com。 子域只使用http。要在 https 中使用它,我需要指定:

server.ssl.key-store、server.ssl.key-store-password 和 server.ssl.keyAlias

在文档中,我发现了以下提示,但我无法访问 Amazon Certificate Manager (ACM) 上的证书: AWS Amplify 控制台在所有页面上生成一个免费的 HTTPS 证书,并在所有 Route53 托管域上自动激活它。 SSL 证书由 Amazon Certificate Manager 生成并支持通配符域。 ACM 处理为基于 AWS 的网站和应用程序创建和管理公共 SSL/TLS 证书的复杂性。使用通配符选项,主域和所有子域都由一个证书覆盖。

那么问题来了,如何获取我需要在 spring boot 中指定的信息?

【问题讨论】:

  • "spring boot backend rest api" 是否在 ec2 实例上运行?
  • 是的,它正在 ec2 上运行。我遇到的主要问题是我无法访问证书的凭据,因为我在 AWS 证书管理器中找不到它。
  • 您不能在实例上使用 ACM。它只能用于负载均衡器、Cloud Front 发行版、Api 网关。我将提供更多信息的答案。
  • Khaled Ali 发布了一个 Answer 说“它似乎可能需要一些时间来开发,或者可能永远不会!!,自 2019 年以来在 @https://github.com/aws-amplify/amplify-console/issues/56 讨论问题”

标签: amazon-web-services ssl https aws-amplify aws-certificate-manager


【解决方案1】:

基于 cmets。

ACM 证书只能用于负载均衡器、API 网关和 CloudFront 分配。它们不能在 EC2 实例上使用

两个选项来纠正这个问题:

  • 在您的 EC2 实例前添加负载均衡器、CloudFront 分配或通过 API 网关代理您的 API。在这些 AWS 服务上,您只需安装您的 ACM 证书。
  • 在实例本身上设置 SSL 证书。为此,您必须获得第三方证书。一个流行的选择是https://letsencrypt.org/,它提供免费的公共证书。

【讨论】:

  • 感谢您的回答。如果我想使用负载均衡器,我还需要访问证书数据(server.ssl.key-store、server.ssl.key-store-password 和 server.ssl.keyAlias)在哪里可以找到这些?
  • @3r1c 我不这么认为。您能否提供这些值的示例,它们对于其他 ssl 键的外观。 Amplify 是 AWS 产品,它应该与 ACM 很好地集成。
猜你喜欢
  • 2019-02-24
  • 2020-01-10
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 2018-09-07
  • 1970-01-01
相关资源
最近更新 更多