2016-02-01 81 views
0

所以这里是独家新闻。忍受我在这里,这是一个漫长的一天。我有一个域名,我们会打电话给company.com。然后我有一个后端域名(适用于较短的网址和东西),我们将其称为compa.ny。两者都通过Let's Encrypt获得SSL证书,并且两者都被迫通过HTTP连接。Amazon CloudFront和HTTPsL我该怎么办?

我使用Amazon CloudFront提供我的媒体资产,因为它比托管在我的VPS上更快,更便宜。所以...

我有一个CNAME记录compa.ny用我的CloudFront域设置。那是 cdncompa.ny。我确保CloudFront资产也通过HTTP提供服务。这里是事情变得油腻的地方。

当我的浏览器(Chrome)连接到 cdncompa.ny,它被重新发送到CloudFront域,并且所提供的SSL证书是由 Amazon CloudFront所拥有的证书。问题在于浏览器出现“哦,嘿!这个SSL证书来自CloudFront ...但我们连接的域名不是 Amazon CloudFront ...骗子!”因此,我的浏览器不信任证书并拒绝在其上加载任何资产。我可以直接访问它们,但它警告我说我的连接不安全,等等。

我不知道该怎么做。

感谢您提供的任何帮助! :)

回答

1

如果您的CloudFront的分布仍然是服务于HTTPS证书只对* .cloudfront.net是有效的,这听起来像之一:

  1. 您没有正确添加您的CNAME作为备用域名从您的CloudFront分配的配置中进行分配。
  2. 您尚未将HTTPS证书应用于您的Distributions配置。

取决于它是否通过HTTP工作,听起来像它可能是第二种情况。

+0

另请参见http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html为了清楚起见,CloudFront需要通过IAM上传的SSL证书/密钥/链接集才能在https上前端。后端服务器的证书不会传播出去......它不能,因为CloudFront(与任何第7层解决方案一样)解密请求和响应,以便它可以处理它们,并在浏览器上重新加密它们/或起源。 –