【问题标题】:Getting 502 error when trying to set up SSL on EC2 instance via Cloudfront尝试通过 Cloudfront 在 EC2 实例上设置 SSL 时出现 502 错误
【发布时间】:2018-01-21 09:56:48
【问题描述】:

我正在尝试使用 Cloudfront 和 Route 53 在安装了 Wordpress 的 EC2 实例上设置 SSL 证书,但是当我访问 URL 时,浏览器中出现 502 错误。我没有使用 ELB,因为我不希望流量非常高(至少在一段时间内)。有谁知道是什么问题?

这是我得到的错误:

Request URL:https://react.edbiden.com/
Request Method:GET
Status Code:502 
Remote Address:54.230.11.194:443
Referrer Policy:no-referrer-when-downgrade
Response Headers
content-length:587
content-type:text/html
date:Sun, 13 Aug 2017 10:45:32 GMT
server:CloudFront
status:502
via:1.1 d10e0115903b50001036753d910516ef.cloudfront.net (CloudFront)
x-amz-cf-id:YWp5HN-1zbO56PxkmH_TIBYFtQ4sO1LnvmYk4wjnrTfuXKP0RHLxnQ==
x-cache:Error from cloudfront

在 Route 53 中,我有 IP4 和 IP6 的 A 记录:

Alias: Yes
Alias Target: d2dzwf20h9q46z.cloudfront.net.
Routing: Simple

在云端:

EC2 设置:

如果有人能指出我正确的方向,我将不胜感激。谢谢!

【问题讨论】:

    标签: amazon-web-services ssl amazon-ec2 amazon-cloudfront


    【解决方案1】:

    将源协议策略更改为“仅 HTTP”。 否则 CloudFront 会尝试通过 HTTPS 连接到 EC2 实例,这可能会失败。

    【讨论】:

    • OP 请求 SSL 连接
    • 是的,这只是给出了一个不同的错误/问题 - chrome 将其称为“混合安全”或其他东西,因为云端是安全的,但 EC2 不是。您可以看到网站的元素(布局错误),但这不是一个可行的解决方案。
    • 如果接收用户的所有内容都由 CloudFront 提供服务并且 CloudFront 是安全的,则应该没有任何问题。为什么从 EC2 而非 CloudFront 提供某些东西?
    【解决方案2】:

    我认为问题在于 SSL 证书不匹配。您在源服务器(EC2 实例)中使用自签名证书,但根据 AWS “对于 ELB 负载均衡器以外的源,您必须使用由受信任的第三方证书颁发机构签名的证书,例如 Comodo 、DigiCert 或赛门铁克。” http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-cloudfront-to-custom-origin.html

    您可以尝试在实例中使用 Let's encrypt 证书。

    【讨论】:

    • 所以亚马逊不支持 EC2 直接的 AWS Certificate Manager (ACM)?您必须使用 Elastic Load Balancer 还是提供自己的 SSL 证书?似乎很奇怪。感谢让我们加密提示...我会检查出来
    • @EdBiden 是的,ACM 证书不能直接使用/安装在实例上,可以与 ELB、CloudFront 等一起使用。
    • @EdBiden 并不奇怪,它是安全模型的一部分。您永远无法使用 ACM 访问证书的私钥,并且您需要它才能在您的 EC2 实例上安装和使用证书。请注意,Let's Encrypt不会为您的 EC2 实例的默认 *.compute-1.amazonaws.com 主机名颁发证书。您需要将 DNS 中的主机名从 your 域之一指向 EC2 实例并获取该主机名的证书,例如对于站点example.com,您可以使用origin.example.com 作为源服务器的主机名。更改 CloudFront 源配置以使用此新名称。
    猜你喜欢
    • 2021-11-28
    • 2019-10-28
    • 2018-08-12
    • 1970-01-01
    • 2012-04-24
    • 2022-01-22
    • 2018-02-15
    • 1970-01-01
    • 2020-04-01
    相关资源
    最近更新 更多