代码之家  ›  专栏  ›  技术社区  ›  snorberhuis

AWS中的静态网站托管

  •  -1
  • snorberhuis  · 技术社区  · 8 年前

    我们正在运行一个静态网站,由CI自动部署到公共S3存储桶。该网站是一个有多个文件夹的jekyll页面。我们对这个设置非常满意,因为它易于部署,并且没有基础设施。

    但我们现在有流量到我们的网站,我们想添加一个阶段。 这个阶段应该可以由来自已知IP的选定非技术人员访问。我们无法使用S3 bucket实现这一点,因为这个bucket需要公开。

    因此,我们正在寻找一种方法,用一个非公共的临时区域来部署静态网站。AWS服务或其他云产品是否可能实现这一点?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Murph    8 年前

    第一部分相对简单,只需设置另一个bucket,部署到那里进行分段,然后从那里部署到您的生产bucket以投入使用。

    第二部分也很简单,您可以在S3存储桶上指定一个策略,限制对IP范围的访问-请参阅以下示例: http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-3

    我个人建议,如果可能的话,最好使用基于登录的限制(你需要注销的人不在办公室是IP地址限制给你带来麻烦的典型例子),无论哪种方式,你都可以对S3 bucket权限进行足够精细的控制,让你做你需要做的事情

        2
  •  1
  •   snorberhuis    7 年前

    我们通过在S3存储桶中使用不可用名称的子文件夹来解决这个问题。这些名称允许公开子文件夹,并充当静态网站的共享秘密密码。每个pull请求都会自动部署在此bucket中的一个子文件夹中。

    例子:

    s3-staging-bucket
    └ ed567c0e-dca9-44fc-b1bc-18ed5237f598/
      └ index.html