繁体   English   中英

如何使用 Amazon S3 或 CloudFront 为数千个网站提供服务?

[英]How do I serve thousands of websites with Amazon S3 or CloudFront?

我们正在构建一个网站编辑器——如 Wix、Webflow 等。用户可以创建他们的网站,并选择部署它们——并向其中添加他们自己的自定义域。

例如 -

用户创建了一个网站并希望将其部署到https://client1.com

整个网站的静态文件存储在名为all-sites的存储桶的子文件夹中。 这个桶会有子文件夹,每个子文件夹对应一个不同的网站。

例如,bucket all-sites将包含这些子文件夹 -

/client1-site
/client2-site
/client3-site

这些文件夹中的每一个都有其静态网站内容/资源 -

/client1.com
..index.html
..js/
....script.js
..img/
....img.png

我如何要求用户将 A/CNAME 记录添加到他们的域中,这些记录恰好指向这些子文件夹? 或者我的服务器端点应该如何为所有这些网站提供服务,同时为每个网站独立加载内容,同时确保网站通过 HTTPS 提供服务?

目前我想出了几种方法,但都不好 -

  1. 不要将文件保存到 s3,而是将其保存到我服务器的存储空间,然后从服务器返回文件——这很容易,但 SSL 证书会出现问题。
  2. 为该存储桶添加云端分发,并提供站点服务 - https://xyz.cloudfront.net/site-id/index.html等。但是我如何将其链接到客户端的 url?

你的 CloudFront 想法对我来说听起来最好,因为你会获得一些额外的优势,其中的关键是在不同的区域启用缓存(如果使用 API,这可能是不可取的)。

我想此时您必须要求客户添加指向其相应 CloudFront 分发域名(通常类似于 XXXXXXXX.cloudfront.net)的 CNAME 记录。 希望有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM