Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 在AmazonS3上托管一个单页应用程序会有什么负面影响/阻碍因素?_Architecture_Amazon S3_Cross Domain_Blogs - Fatal编程技术网

Architecture 在AmazonS3上托管一个单页应用程序会有什么负面影响/阻碍因素?

Architecture 在AmazonS3上托管一个单页应用程序会有什么负面影响/阻碍因素?,architecture,amazon-s3,cross-domain,blogs,Architecture,Amazon S3,Cross Domain,Blogs,基本上我想做一个博客。由于实际的博客内容是静态的,因此似乎适合将其上传到S3——价格便宜&基本上可以无限扩展,以防黑客新闻或Reddit攻击它(不太可能,但你永远不知道)。 但是,我希望它有一些动态部分,比如搜索 我目前的想法是,博客将是一个上传到S3上的域的HTML,而实际的服务器端组件(从Javascript调用并返回搜索结果)将托管在其他地方(可能在子域中) 基本上,第一次击中的总是S3。如果用户只想获得更多的“交互”,那么他实际上是在查询服务器。但只要访问是只读的,没有额外的交互(最有可

基本上我想做一个博客。由于实际的博客内容是静态的,因此似乎适合将其上传到S3——价格便宜&基本上可以无限扩展,以防黑客新闻或Reddit攻击它(不太可能,但你永远不知道)。 但是,我希望它有一些动态部分,比如搜索

我目前的想法是,博客将是一个上传到S3上的域的HTML,而实际的服务器端组件(从Javascript调用并返回搜索结果)将托管在其他地方(可能在子域中)

基本上,第一次击中的总是S3。如果用户只想获得更多的“交互”,那么他实际上是在查询服务器。但只要访问是只读的,没有额外的交互(最有可能的情况是出现流量高峰),S3就可以优雅地处理事情,不像一个微不足道的VPS

根据这个问题/答案:这是不可能的


现在还是这样吗?谢谢。

我建议您将
www.yoursite.com
配置为指向S3存储桶并在子域上运行动态内容(
dynamic.yoursite.com
)。我不知道;我不知道您计划如何执行动态部分,但您有几个选项:

  • 将它们作为相互链接的单独站点保存。例如,如果您将页面放在S3上,将搜索索引放在VPS上,这可能会很好地工作。当用户进行搜索时,搜索请求将发布到
    dynamic.yoursite.com
    上的页面,该页面将返回结果列表。此结果列表可以根据需要引用
    www.yoursite.com
    中的CSS、脚本和图像,并且每个结果都可以链接回静态内容

  • 对于更复杂的共享,S3或VPS都可以配置为允许CORS。这也将允许发送AJAX请求。(注意,虽然CORS非常广泛,但仍有一些不支持CORS)

    • 在VPS上,您的代码需要允许源
      www.yoursite.com
      。这允许静态页面访问动态内容
    • 如果需要,也可以使用S3。这允许动态页面访问静态内容

  • 您希望使用现有的软件包还是自己编写?由于您愿意使用子域,如果您使用适当的CORS头,这是非常可行的,但我不知道有任何包可以为您做到这一点,我可以自己编写。所以我可以在S3上托管入口点,在子域上托管后端,我只需要使用适当的CORS头。我需要做一些关于CORS的研究,因为我几乎不知道它是什么,但我不知道如何实现它。你有什么推荐的阅读资料吗?可以在S3上设置根域吗?即mysite.com而不是www.mysite.com?这是一个全新的网站。是的。只需遵循亚马逊的文档即可。我之所以推荐
    www
    ,只是因为这是相当标准的。