【问题标题】:Dealing with SSL certificates when using Amazon S3 Virtual hosting and a multilevel domain?在使用 Amazon S3 虚拟主机和多级域时处理 SSL 证书?
【发布时间】:2018-08-20 01:28:23
【问题描述】:

我有一个域,比如说foo.bar.com,我想用它来提供 Amazon S3 存储桶中的文件。根据https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html,存储桶名称必须为foo.bar.com,并且foo.bar.com(指向foo.bar.com.s3.amazonaws.com)的CNAME记录的URL必须为foo.bar.com.s3.amazonaws.com

不幸的是,亚马逊的 SSL 证书不支持 foo.bar.com.s3.amazonaws.com(我的意思是,为什么会这样,我猜),所以我无法通过 SSL 提供这样的文件,我收到 SSL 警告/错误。我可以使用纯 HTTP,但我在 Chrome 中收到混合内容警告,因为主站点通过 SSL。

这个问题应该如何处理?

【问题讨论】:

标签: amazon-web-services ssl amazon-s3


【解决方案1】:

在存储桶上同时拥有自定义域名和 SSL 的唯一方法是将 CloudFront 与 S3 结合使用。

在 us-east-1 区域的 Amazon Certificate Manager (ACM) 中为您的域 foo.example.com 创建一个 SSL 证书,无论您的存储桶位于哪个区域。 (us-east-1 区域是 CloudFront 和 ACM 互连的区域。)

创建 CloudFront 分配:

  • 如果您想要 S3 网站托管功能,包括索引文档和重定向规则,请键入存储桶的网站托管端点主机名作为源域名(不要从列表中选择存储桶),或
  • 如果您想使用 CloudFront 签名 cookie 或签名 URL,请从下拉列表中选择存储桶。

将您的新 ACM 证书与分发相关联,并添加 foo.example.com 作为分发的备用域名。

将 DNS 记录指向分配的 dzczcexample.cloudfront.net 主机名。

另请注意,与 S3 自身使用的静态托管不同,此配置不需要存储桶名称与域名匹配,因为 CloudFront 在将请求发送到存储桶之前会对其进行重写。

【讨论】:

    猜你喜欢
    • 2016-11-05
    • 2011-01-31
    • 2021-01-22
    • 2019-04-21
    • 2013-01-27
    • 2015-11-13
    • 2014-06-21
    • 2017-04-07
    • 2016-07-27
    相关资源
    最近更新 更多