基本上我想做一个博客。由于实际的博客内容是静态的,所以将其上传到S3似乎很合适 - cheap& amp;基本上可以无限扩展,以防黑客新闻或Reddit曾经发现它(不太可能,但你永远不知道)。 但是,我希望有一些动态部分,比如搜索。
我目前的想法是,博客将是在S3上上传到域的HTML,而从Javascript调用并返回搜索结果的实际服务器端组件将托管在其他地方(可能在子域中)。
基本上第一次打击始终是S3。如果用户想要获得更多的互动"只有这样他才真正查询服务器。但只要访问是只读的,没有额外的交互(最有可能是流量高峰的情况),S3可以优雅地处理事情,而不像微不足道的VPS。
根据这个问题/答案:Serving Django API on Heroku and single-page app on Amazon S3 on the same domain这是不可能的。
现在仍然如此吗?谢谢。
答案 0 :(得分:1)
我建议您将www.yoursite.com
配置为指向S3存储桶并在子域(dynamic.yoursite.com
)上运行动态内容。我不知道你打算如何做动态部分,但你有几个选择:
将它们保持为相互链接的独立网站。这可能很有用,例如,如果您的页面在S3上,而您的搜索索引在VPS上。当用户进行搜索时,搜索请求将POST到dynamic.yoursite.com
上的页面,该页面将返回结果列表。此结果列表可以根据需要引用www.yoursite.com
中的CSS,脚本和图像,每个结果都可以链接回静态内容。
对于更复杂的共享,可以将S3或VPS配置为允许CORS。这将允许发送AJAX请求。 (请注意,虽然browser support非常宽,但仍有一些不支持CORS)
Access-Control-Allow-Origin
header允许来源www.yoursite.com
。这允许静态页面访问动态内容。dynamic.yoursite.com
。这允许动态页面访问静态内容。