【问题标题】:Cant connect AWS through secure (https) connection无法通过安全 (https) 连接连接 AWS
【发布时间】:2019-11-25 17:59:06
【问题描述】:

我的 java 软件托管在 AWS EC2 上,它的公共 IP 只允许我进行 http 连接,建立 https 连接需要什么?

【问题讨论】:

  • 一些问题:1)你使用api网关吗? 2)你有证书吗?
  • “公共 IP 只允许我进行 http 连接”究竟是什么意思?当您尝试 HTTPS 连接时会发生什么?
  • @Adrian,我的意思是 AWS 提供的用于访问我的应用程序的默认 ip/动态 ip 没有附带 https,当我尝试使用 https 访问它时,它只显示“此站点可以” t 提供安全连接”我假设在 AWS 端为此激活了一些新端口
  • 一个IP地址不提供HTTPS;它与HTTPS无关。您需要一个有效的证书,并且您需要向您的端点开放端口 443 (HTTPS)。我强烈建议您进行一些快速的网络搜索,以了解 HTTPS 是什么以及它是如何工作的基础知识。

标签: amazon-web-services amazon-ec2 https


【解决方案1】:

在这个answer 上,它提到了启用 EC2 服务 HTTPS 的三个选项。

这是让 EC2 使用 EC2 负载均衡器(选项一)提供 HTTPS 的分步操作:

  1. 转到 AWS 控制台 - 证书管理器 - 请求证书 - 请求公共证书。在这里,您需要指定一个您可以控制的域名。如果您有现有证书,则可以上传以使用它。

  2. 证书状态为 Issued 后,进入 AWS 控制台 - EC2 - 负载均衡器。创建一个新的负载均衡器,选择 Classic LB 或 Application LB。

    • 在第 1 步:配置负载均衡器中,您指定了一个侦听器:协议 = HTTPS。

    • 在第 2 步:配置安全设置中,选择“证书类型”=“从 ACM 选择证书”。在“证书名称”上,您选择上面第 1 步中颁发的证书。

    • 在第 3 步:配置安全组中,选择“创建新的安全组”。选择类型 = HTTPS,来源 = 任何地方。

    • 在第 4 步:配置路由中,选择“目标类型”=“实例”,协议=HTTP。

    • 在第 5 步:注册目标,检查您的实例,添加到注册目标。

    • 在第 6 步:查看、验证所有内容,然后创建。我跳过琐碎的字段和其他可以保留默认值的字段。

  3. 返回 AWS 控制台 - EC2 - 负载均衡器,选择新的负载均衡器,状态激活后,从基本配置中获取 DNS 名称并尝试访问其 HTTPS。如果它启动,那么您可以开始将您的域重定向到此负载均衡器。请注意,此负载均衡器是 DNS 类型,因此您注册为 CNAME 记录。

【讨论】:

  • 感谢您的回答,这真的很有帮助,我设法到达最后一点但仍然无法使用 https 访问,尽管我得到了 DNS (LB-HTTPS-1827646526.us -east-2.elb.amazonaws.com),它不工作。
  • 我可以访问LB-HTTPS-1827646526.us-east-2.elb.amazonaws.com,但ssl证书无效,并显示503错误页面。这意味着 ELB 已启动但无法将请求转发给 http 守护进程。检查 elb https 目标,它应该是您的 ec2 端口 80。其次,您可能想使用 Amazon 签名证书(免费)。
猜你喜欢
  • 2020-08-12
  • 2013-03-05
  • 1970-01-01
  • 2021-11-27
  • 2013-02-19
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
相关资源
最近更新 更多