EC2 上使用 ELB 的 Tomcat SSL 证书

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

我在 EC2 上有一个 Tomcat 服务器,带有应用程序负载均衡器,需要提供 TLS 加密。 Tomcat 迎合了在我的自定义域上打开的应用程序,比如

www.mydomain.com/somebusiness
。 因此,我在 ELB 上安装了 AWS 提供的证书,但从端口 443 到 Tomcat 服务器的流量无法由 AWS 证书提供服务。这意味着我需要为 Tomcat 单独提供另一个证书。我尝试使用自行生成的证书,但不断收到 “您的连接不是私密的,攻击者可能试图从......窃取您的信息”。 这让我去寻找 CA 签名的证书,希望它能解决问题。 对我来说真正的问题从这里开始。我的证书是为
www.mydomain.com
颁发的,并且我在负载均衡器上安装了该证书,该负载均衡器仍然具有 DNS 名称
https://blappity.amazon.aws.com
。从技术上讲,我的证书现在因域名不匹配而拒绝此操作。 最重要的是,出于不可避免的原因,我无法为我的负载均衡器提供自定义 DNS 名称,这对我来说消除了 Route 53 选项。 此时将自定义域与 ELB 保持一致的最佳方法是什么?

ssl tomcat amazon-ec2 certificate aws-application-load-balancer
1个回答
0
投票

这通常通过SSL 卸载进行管理。

长话短说:您在 ALB 上处理 SSL,它暴露在互联网上,并通过 HTTP(不安全)与您的 EC2 实例进行通信。
此实例不暴露于互联网,但只能通过特定安全组规则与您的 ALB 通信。
通过这种方式,您可以将域的 DNS 指向 ALB 的 EIP(或者,如果您使用 Route53,则指向 ALB 别名)。

更多详细信息和分步指南:

  • 创建您的 ALB。
  • 创建您的 EC2 实例并通过 HTTP 公开您的应用程序,例如在端口 80 上。不要为其分配公共 IP,并确保(通过安全组)它只能与 ALB 通信。
  • 创建一个目标组,您将在其中添加 EC2 实例。请记住设置健康检查路径(一个可以通过 GET 访问并始终返回 200 状态代码的简单端点)。 创建目标群体
  • 为您的域创建(或导入)SSL 证书,并将其安装在 ALB 的 SNI 中。 请求公共证书
  • 在 ALB 上安装证书并创建侦听器规则,将使用您的证书验证的 HTTPS 流量(例如,在端口 443 上)重定向到之前创建的目标组。 创建 HTTPS 监听器
  • (可选但建议)创建另一个侦听器规则,将 HTTP 流量(在端口 80 上)重定向到 HTTPS 端口(从而重定向到 HTTPS 侦听器)。 将 HTTP 流量重定向到 HTTPS
  • 向您的 DNS 添加一条记录,将对自定义域的请求重定向到 ALB。
© www.soinside.com 2019 - 2024. All rights reserved.