AWS EC2 Spring Boot 部署 - 配置 Route 53、ACM 和 GoDaddy 后出现 SSL/HTTPS 错误

问题描述 投票:0回答:1

我已在 AWS EC2 实例上部署了 Spring Boot 应用程序,并且尝试通过从 GoDaddy 购买的自定义域来访问它。但是,我在尝试通过 HTTPS 连接时遇到了问题。

这是我到目前为止所做的:

  1. EC2 设置:我已在 EC2 实例上成功部署了 Spring Boot 应用程序。当我通过 HTTP 上的公共 IP 直接访问该应用程序时,该应用程序工作正常。

  2. 域名和 DNS 配置:

  • 我通过 GoDaddy 购买了域名。
  • 在 GoDaddy 中,我将名称服务器更改为指向 AWS Route 53。
  • 我在 Route 53 中为我的域创建了一个托管区域。
  • 我在 Route 53 中添加了一条 A 记录,指向我的 EC2 实例的公共 IP 地址。
  1. SSL/ACM 配置:
  • 我使用 AWS ACM(Amazon 证书管理器)为我的域注册了 SSL 证书。
  • 证书已成功颁发,并且我已验证域名已正确链接。
  1. 安全组:
  • 我已更新我的 EC2 安全组以允许端口 443 (HTTPS) 上的入站流量。
  • 也允许端口 80 (HTTP)。

我希望可以通过 HTTPS 访问我的应用程序,但是当我尝试在 Postman 或浏览器中使用域(例如,https://api.mydomain.com)访问我的应用程序时,我在 Postman 中收到以下错误:

复制代码 错误:连接 ECONNREFUSED 13.49.000.000:443

这是我迄今为止尝试过的:

  • 已验证 EC2 实例正在运行并且可以通过 HTTP(端口 8080)访问。
  • 仔细检查安全组规则以确保允许 HTTPS 流量。
  • 确保域使用 Route 53 正确指向 EC2 实例。
  • 据我了解,该问题可能与 SSL 或端口 443 的配置有关。
amazon-web-services ssl amazon-ec2 https amazon-route53
1个回答
0
投票

您已在 ACM 中创建 SSL 证书,但尚未将该 SSL 证书附加到任何内容。仅创建 SSL 证书并不能神奇地使 SSL 适用于该域。您必须实际配置服务器来提供 SSL 证书。

不幸的是,由于您将域直接指向 EC2 服务器,因此您根本无法使用 AWS ACM 提供的 SSL 证书。 ACM 提供的证书仅可用于 AWS 负载均衡器、CloudFront 发行版和 AWS API 网关。

如果您想继续使用当前的基础设施,而不在 EC2 服务器前面添加其中一项 AWS 服务,那么您将必须以其他方式获取 SSL 证书,例如通过 Let's Encrypt。获得 SSL 证书后,您必须将 Spring Boot 配置为侦听端口 443 并提供该证书。

© www.soinside.com 2019 - 2024. All rights reserved.