2017-08-13 7815 views
0

我试图在EC2实例上设置SSL证书我已经使用Cloudfront和Route 53安装了Wordpress,但是我得到当我前往URL时,浏览器发生502错误。我没有使用ELB,因为我不期望流量很高(至少在一段时间内)。任何人都知道问题是什么?尝试通过Cloudfront设置EC2实例上的SSL时出现502错误

这里是我得到的错误:

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 

在的Cloudfront: enter image description here enter image description here

EC2设置: enter image description here

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

回答

0

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

+0

OP问SSL连接 – user7294900

+0

是的,这只是给出了一个不同的错误/问题 - 铬称之为“混合安全”或什么的,因为云端安全,但EC2不是。你可以看到网站的元素(布局错误),但这不是一个可行的解决方案。 –

+0

如果接收用户的所有内容都由CloudFront提供,并且CloudFront是安全的,则不应该有任何问题。为什么从EC2服务器取代CloudFront? –

1

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

您可以尝试使用让我们在实例中加密证书。

+0

因此,Amazon不支持EC2直接使用AWS Certificate Manager(ACM)?您必须使用Elastic Load Balancer或提供您自己的SSL证书?看起来很奇怪。感谢我们的加密技巧...我会检查出 –

+0

@EdBiden是的,ACM证书不能直接使用/安装在实例上,可以与ELB,CloudFront等一起使用。 – sudo

+0

@EdBiden不奇怪,它是安全模型。您无法使用ACM访问证书的私钥,您需要在您的EC2实例上安装和使用证书。请注意,Let's Encrypt将**不会**为您的EC2实例的默认'* .compute-1.amazonaws.com'主机名颁发证书。您需要将DNS中的主机名从* your *域指向EC2实例,并获取该主机名的证书,例如,对于站点'example.com',您可以使用'origin.example.com'作为源服务器的主机名。更改CloudFront原始配置以使用此新名称。 –

相关问题