2017-03-04 134 views
2

我尝试使用AWS S3和CloudFront为我们的Web平台设置静态托管解决方案。需要使用https,并且需要通过自定义子域来访问。AWS S3,CloudFront和SSL

这是我的S3存储: enter image description here

这些都为CloudFront的设置: enter image description here enter image description here

证书设置看行对我说: enter image description here

最后我的DNS记录是这样的: CNAME: "static" -> "d1fd407fp9coo4.cloudfront.net."

编辑:使用我的DNS默认域名提供商,而不是路由53.

目的是通过https获得static.dmaglobal.com/logo-frontpage.png的资源。它没有加载(http://static.dmaglobal.com/logo-frontpage.png),但HTTPS版本(https://static.dmaglobal.com/logo-frontpage.png)给出SSL错误,说明当前证书是* .s3.eu-west-2.amazonaws.com而不是* .dmaglobal.com。我不明白这种不匹配是从哪里来的,因为它似乎像当前的证书正确设置为我们的自定义域。

任何人都可以给出一些关于如何从这里开始处理这个问题的指针?

+0

自创建CloudFront分配以来,它已经有多久了?我几个星期前创建了一个具有相同设置的设置,并且它保持重定向到S3,而不是通过CloudFront提供文件(因此服务于S3 SSL证书而不是您在CloudFront上配置的文件)。显然,这是新的CloudFront发行版的已知问题,您需要等待几个小时才能开始正确地从S3提供文件。几个小时后,矿井开始按预期工作。 –

+0

也许是在2个小时前创建的,花了一段时间直到它准备好了 - 它在花费了大约一个小时左右的时间才与状态“进行中”更改为“准备就绪” – kvitso

+0

是的,我有同样的经历。我会再等几个小时才能开始提供文件,而不是重定向到S3。以下是我在遇到同样问题时所遇到的AWS论坛帖子:https://forums.aws.amazon.com/message.jspa?messageID=677452如果在几个小时内没有完成清理,您可能需要使用AWS支持打开票证。 –

回答

0

回答我自己的问题:最后,这是恰当的CNAME值尚未正确传播(因为在我意识到CloudFront是SSL所必需的之前,它最初指向S3)。一旦完成,OP中的设置完美运行。

0

正如您已经注意到您的DNS记录仍然解析为S3。

而不是CNAME,您应该创建一个ALIAS记录到Cloudfront发行版。在静态记录选择A类型记录中,选中Yes for Alias并在下拉列表中选择Cloudfront分配。

原因是:ALIAS记录是免费的,它们的解决速度更快。

+0

OP没有说他使用Route53做DNS。 CNAME记录应该正常工作。根据TTL传播更改可能需要更长的时间,但就是这样。不知道你为什么声明Alias记录是免费的。您支付Route53中的托管区域。无论是哪种记录类型,您都不会为该托管区域中的任何记录支付任何额外费用。 –

+0

@MarkB *针对Route 53的查询*当别名指向服务目标(S3,CloudFront,ELB)时,别名记录是免费的,否则它们是可计费的。 –

+0

为了清楚起见,我在这种情况下不使用Route 53。一旦传播了适当的CNAME值,我会在这个问题上发布更新 – kvitso