0

我使用 angular5 将我的静态网站托管在 S3 存储桶中,并使用 Route53 映射到自定义域。我想为我的站点使用 SSL/TLS(HTTPS),因此我使用 ACM 生成证书并使用 CloudFront 将其映射到我的站点。发出 ACM 状态并表示它正在使用中。但我的网站 启用HTTPS 。

一切都托管在 us-east-1 中,我正在从东亚访问我的网站。这是一个问题吗?

我错过了什么吗?

4

1 回答 1

0

CloudFront 的 ACM 证书应已在 N.Virginia 区域生成。然后您应该能够将其分配给您的 CloudFront 分配。

如果您想在 CloudFront 和 S3 存储桶之间使用 HTTPS,则应在您的 CloudFront 分配源中将“源协议策略”参数设置为“仅 HTTPS”。

在此处输入图像描述

在您的 CloudFront 分配缓存行为中,您应该将“查看器协议策略”参数设置为“将 HTTP 重定向到 HTTPS”,以便客户端和您的 CloudFront 分配之间的每个 HTTP 通信都被重定向为使用 HTTPS。

在此处输入图像描述

然后,您必须更改您的 DNS 记录以指向 CloudFront 分配 CNAME。

此外,您可以配置 CloudFront 分配和 S3 存储桶,以限制从客户端直接访问 S3 存储桶,以便每个请求都通过您的 ClouddFront 分配。

使用源访问身份限制对您的 Amazon S3 内容的访问

通常,如果您使用 Amazon S3 存储桶作为 CloudFront 分配的源,则您授予每个人读取存储桶中对象的权限。这允许任何人通过 CloudFront 或使用 Amazon S3 URL 访问您的对象。CloudFront 不会公开 Amazon S3 URL,但如果您的应用程序直接从 Amazon S3 提供任何对象,或者如果有人提供指向 Amazon S3 中特定对象的直接链接,您的用户可能会拥有这些 URL

于 2018-03-15T07:43:21.230 回答