【问题标题】:AWS ELB causing net::ERR_CERT_COMMON_NAME_INVALID errorAWS ELB 导致 net::ERR_CERT_COMMON_NAME_INVALID 错误
【发布时间】:2021-05-30 07:40:46
【问题描述】:

当前在尝试通过 ALB 访问我的应用程序时收到 net::ERR_CERT_COMMON_NAME_INVALID

这是我目前的设置:

  • 使用 AWS Certificate Manager 创建了涵盖 example.com*.example.com 的 SSL 证书。
  • 2 个服务器 ec2 实例位于负载均衡器后面,2 个客户端实例位于另一个负载均衡器后面。
  • 我的 Route 53 托管区域中指向客户端 ALB 的别名记录。
  • 两个 ALB 都附有 example.com 的 SSL 证书。
  • 两个 ALB 都有一个 HTTPS: 443 侦听器,将 https 流量转发到端口 80 上的 ec2 实例。
  • 服务器 ALB 安全组允许来自客户端 ALB 安全组的入站流量和出站到服务器实例安全组的流量。
  • 客户端 ec2 实例中的应用程序是 React 应用程序,指向位于 https://xxxxxxxxxx.elb.amazonaws.com/api 的服务器 ALB

通过https://example.com 访问应用程序会导致控制台中的net::ERR_CERT_COMMON_NAME_INVALID 显示:

错误:此服务器的证书无效。您可能正在连接到伪装成“xxxxxxxxxx.elb.amazonaws.com”的服务器,这可能会使您的机密信息面临风险。

如果有帮助,我很乐意提供更多详细信息。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-security-group aws-application-load-balancer aws-elb


    【解决方案1】:

    如果您有自己的域 example.com 并带有正确的 SSL 证书,那么您不能使用 AWS 域 https://xxxxxxxxxx.elb.amazonaws.com/api。原因是 SSL 证书适用于 example.com,而不适用于 https://xxxxxxxxxx.elb.amazonaws.com/api

    您必须修改您的应用程序代码以仅使用example.com

    【讨论】:

    • 我应该将哪些 SSL 证书与 ALB 关联?由于example.com 指向客户端应用程序的负载均衡器,如果我将应用程序代码更改为使用example.com/api/,它仍将指向客户端应用程序。我如何在仍然使用 example.com 的同时指向它们自己的负载均衡器后面的服务器?
    • @AnthonyMaina 我不明白。您前端的所有内容都必须使用 example.com 通过 ALB,这就是您首先拥有它的原因。
    • 知道了。我在路由 53 上创建了一条名为 api.example.com 的新记录,指向服务器 ALB。现在应用程序代码使用它与服务器通信,并且它现在可以正常工作。
    猜你喜欢
    • 2019-10-01
    • 2020-12-20
    • 1970-01-01
    • 2018-09-26
    • 2019-08-07
    • 1970-01-01
    • 2018-03-21
    • 2022-01-02
    • 2021-09-18
    相关资源
    最近更新 更多