Amazon web services 尝试通过Cloudfront在EC2实例上设置SSL时出现502错误

Amazon web services 尝试通过Cloudfront在EC2实例上设置SSL时出现502错误,amazon-web-services,ssl,amazon-ec2,amazon-cloudfront,Amazon Web Services,Ssl,Amazon Ec2,Amazon Cloudfront,我正在尝试使用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 Polic

我正在尝试使用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
在53号公路上,我有IP4和IP6的记录:

Alias: Yes
Alias Target: d2dzwf20h9q46z.cloudfront.net.
Routing: Simple
在云端:

EC2设置:


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

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

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

我认为问题在于SSL证书不匹配。您正在源服务器(EC2实例)中使用自签名证书,但根据AWS“对于ELB负载平衡器以外的源服务器,您必须使用由受信任的第三方证书颁发机构(例如,Comodo、DigiCert或Symantec)签名的证书。”


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

我认为问题在于SSL证书不匹配。您正在源服务器(EC2实例)中使用自签名证书,但根据AWS“对于ELB负载平衡器以外的源服务器,您必须使用由受信任的第三方证书颁发机构(例如,Comodo、DigiCert或Symantec)签名的证书。”


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

OP询问SSL连接EAH,这只是给出了一个不同的错误/问题-chrome将其称为“混合安全”或其他什么,因为cloudfront是安全的,但EC2不是。你可以看到网站的元素(在错误的布局中),但这不是一个可行的解决方案。如果接收用户的所有内容都由CloudFront提供,并且CloudFront是安全的,那么就不应该有任何问题。为什么有些东西是从EC2提供的而不是从CloudFront提供的?OP要求提供SSL连接。这只是给出了一个不同的错误/问题-chrome称之为“混合安全”之类的,因为CloudFront是安全的,但EC2不是。你可以看到网站的元素(在错误的布局中),但这不是一个可行的解决方案。如果接收用户的所有内容都由CloudFront提供,并且CloudFront是安全的,那么就不应该有任何问题。为什么有些东西是从EC2提供的,而不是从CloudFront提供的?所以Amazon不支持用于EC2 direct的AWS证书管理器(ACM)?您必须使用弹性负载平衡器或提供自己的SSL证书?看起来很奇怪。谢谢你的“让我们加密”提示。。。我去查一下out@EdBiden是的,ACM证书不能直接使用/安装在实例上,可以与ELB、CloudFront等一起使用@EdBiden并不奇怪,它是安全模型的一部分。使用ACM,您永远无法访问证书的私钥,您需要它才能在EC2实例上安装和使用证书。请注意,Let's Encrypt不会为EC2实例的默认主机名
*.compute-1.amazonaws.com
颁发证书。您需要将DNS中的主机名从一个域指向EC2实例,并获取该主机名的证书,例如,对于站点
example.com
,您可以使用
origin.example.com
作为源服务器的主机名。将CloudFront源配置也更改为使用此新名称。所以Amazon不支持用于EC2 direct的AWS证书管理器(ACM)?您必须使用弹性负载平衡器或提供自己的SSL证书?看起来很奇怪。谢谢你的“让我们加密”提示。。。我去查一下out@EdBiden是的,ACM证书不能直接使用/安装在实例上,可以与ELB、CloudFront等一起使用@EdBiden并不奇怪,它是安全模型的一部分。使用ACM,您永远无法访问证书的私钥,您需要它才能在EC2实例上安装和使用证书。请注意,Let's Encrypt不会为EC2实例的默认主机名
*.compute-1.amazonaws.com
颁发证书。您需要将DNS中的主机名从一个域指向EC2实例,并获取该主机名的证书,例如,对于站点
example.com
,您可以使用
origin.example.com
作为源服务器的主机名。同时更改CloudFront源配置以使用此新名称。