【问题标题】:AWS ACM SSL Protocol errorAWS ACM SSL 协议错误
【发布时间】:2017-01-26 23:28:00
【问题描述】:

我正在使用 AWS EC2 实例(亚马逊 Linux,弹性 IP)尝试通过 ACM 设置 SSL。证书已通过验证,负载均衡器正在通过侦听 prot 443 的运行状况检查,并转发到端口 80。最初,在测试 https 时,我收到一个连接被拒绝。这让我很困惑,因为我认为负载均衡器会捕获并将其转发到端口 80。我通过 EC2 实例上的 nginx 启用了端口 443,所以现在它正在侦听 443(通过 telnet 测试),从而摆脱了连接被拒绝的错误,但现在我得到一个 ERR_SSL_PROTOCOL_ERROR。如果它缺少负载均衡器并直接命中 EC2 实例,这是有道理的。

这是问题(缺少负载平衡器)吗?如果是这样,我该如何解决这个问题。我看不到将 IP 地址分配给负载平衡器的方法。这种设置是否需要 CNAME 记录?如果是这样,我该如何配置?

谢谢。

【问题讨论】:

    标签: amazon-web-services ssl amazon-ec2 aws-certificate-manager


    【解决方案1】:

    您的负载均衡器将成为 SSL 终止的地方,然后继续运行在端口 80 上的不安全服务器。您应该将 EC2 实例改回端口 80。

    是的,您应该从为其创建证书的域中将 CNAME 指向您的负载均衡器。您没有获得 ELB 的 IP,因为实际上可能有许多负载均衡器在幕后,而您看不到,它们都隐藏在 AWS CNAME 后面。

    总结:

    • 更改您的 EC2 以再次在端口 80 上提供流量
    • 让 ELB 接受端口 443 上的连接,并发送到实例上的 80
    • 为您的 ELB 分配一个证书对其有效的有效域
    • 利润。

    干杯

    【讨论】:

    • 科迪,这很有帮助。谢谢你。如果我理解正确,这意味着我不需要当前与 EC2 实例关联的弹性 IP,也不需要当前的 DNS A 记录。这是正确的吗?
    • 正确,您应该始终使用 CNAME 来指向负载均衡器,而不是直接指向实例。那时底层 IP 并不重要,实例可以随心所欲地来来去去。如果这解决了您的问题,请标记我的答案正确。谢谢!
    • 我现在正在开发 PoC 来测试这个。不幸的是,它没有按预期工作。我删除了 A 记录,并在注册域和 LB 公有 DNS 名称 (asdf-qwer-123456789098.us-east-1.elb.amazonaws.com) 之间添加了 CNAME 记录,但它没有启动。当您写道:“为证书有效的 ELB 分配一个有效域”。您的意思是 LB 域必须在证书域下(例如 lb1.mydomain.com)?我没有看到配置 LB 域名的方法。感谢您的帮助!
    • 更新:几乎在我发布上述评论后,它就弹出了。传播时间比平时要长一些。非常感谢科迪的帮助。我将您的答案标记为正确。祝您度过愉快的一周!
    • 很高兴你把它整理好了,祝你好运,也有一个美好的一周!
    猜你喜欢
    • 2016-02-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2017-04-29
    • 1970-01-01
    相关资源
    最近更新 更多