簡體   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