S3 上的 https 没有云端可能吗?

https on S3 WITHOUT cloudfront possible?

我们目前希望开始通过 AWS S3 托管我们的所有资产,我们还希望通过 https 提供所有服务。我了解我可以将 Amazon Certificate Manager (ACM) 与 Cloudfront 结合使用,以通过 https 服务器资产。问题是我们在医疗行业,法律禁止我们在欧盟以外举办任何活动。使用 S3 我可以选择一个位置(对我们来说是法兰克福),但是使用 Cloudfront 我只能得到这个选项:

所以我想我也许可以使用 Letsencrypt 来生成我自己的证书。但是我想我仍然需要使用只能与 Cloudfront 一起使用的 ACM,这意味着我仍然无法使用它。

有人知道我是否可以通过 https 设置 S3 但 没有 云端?

遗憾的是,您不能将 SSL 证书与您的自定义域一起用于 S3。您可以将 S3 域与 Amazon SSL 证书一起使用,例如:https://my-example-bucket.s3-website-us-east-1.amazonaws.com.

如果您想使用带 SSL 的自定义域,并且您不能使用 CloudFront,那么您将需要考虑在 S3 前面放置一些其他代理,例如您自己的 Nginx 服务器或其他东西。

以下是有用的资源时间表。 S3 和 CloudFront 均在欧盟可用。您当然可以通过 CloudFront 提供 S3。

我了解在地域范围内举办活动的要求。您将在欧盟地区使用 S3 实现的要求。 CloudFront 不是托管服务,它是使用高性能租用线路和可管理端点缓存的 CDN(内容交付网络)。您正在查看的问题是价格选项,而不是托管位置。如果您想在欧盟提供内容,您需要 'Price Class 100' 或 'Price Class All'.

使用 CloudFront 时,您可以控制哪些 IP 范围可以访问您的 material,以及前端和后端流量的加密。查看一些设计模式

有一些优秀的白皮书和设计模式可用于设置安全的 CloudFront。我想你会发现你可以做你想做的事,并且完全符合法律要求。

http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region https://aws.amazon.com/compliance/eu-data-protection/

另请查看 AWS doco 'using-https-cloudfront-to-s3-origin' & 'custom-ssl-domains'

P.S。确保将存储桶权限设置为仅可通过 CloudFront 通道使用。

RL

CloudFront 具有适用于 white/blacklisting 个国家/地区的功能。我会尝试使用您列出的 3 个 CDN 选项中的任何一个以及欧盟国家/地区的白名单。我不确定验证其他国家(例如美国)被拒绝的最简单方法是什么。

在 AWS API 网关 中,您可以创建 代理 资源 /{proxy+} 映射到 s3-website.

请确保不要单独映射到 s3,而是映射到 s3-website,这样您就可以得到 PATH/TO/DIR/index.html returned for PATH/TO/DIR,可能还有其他东西按需工作。

API 网关通过 HTTPS 服务,可选择在您自己的域下。

虽然这不是很好的选择,因为您必须手动添加所有允许的 HTTP return 代码,并且请求中的负载限制为 10MB,因为此服务针对 REST APIs.