【问题标题】:How to setup a maintenance page in Amazon CloudFront /S3如何在 Amazon CloudFront /S3 中设置维护页面
【发布时间】:2019-12-14 00:40:51
【问题描述】:

我将 AWS S3 用于前端 Web 托管,将 AWS EC2 用于后端托管。 EC2 实例位于 elb 后面并已安排维护,我想在 EC2 实例处于维护状态时显示维护页面。

我设置它的方式是让 index.html “触摸” EC2 上的一些文件,如果服务器不可用,它将返回 HTTP 503 错误。 S3中有一个503.html,我想在发生503错误时显示它。

我已尝试创建新的 CloudFront 错误页面并创建 S3 重定向规则,但它们都不起作用。设置维护页面的最佳方式是什么?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudfront


    【解决方案1】:

    我一直在寻找一种快速的方法来做到这一点。我们需要在数据库升级期间向世界返回一个 503 错误,但将一些开发者的 IP 列入白名单,以便他们可以在开放备份之前对其进行测试。

    找到了一个单一的解决方案:: 转到 EC2 中的 Loader Balancer 并选择您要定位的负载均衡器。在下面,您应该看到 Listeners。单击侦听器,然后编辑规则。创建这样的规则:

    现在每个人都会得到一个漂亮的维护页面,返回一个 503 错误代码,并且第一条规则中只有两个 IP 地址可以浏览到该站点。顺序很重要,两个 IP 例外在顶部,然后在列表中。默认情况下,最后一项始终存在。

    https://aws.amazon.com/about-aws/whats-new/2018/07/elastic-load-balancing-announces-support-for-redirects-and-fixed-responses-for-application-load-balancer/

    应用程序负载均衡器的侦听器规则: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html

    【讨论】:

      【解决方案2】:

      听起来您正在寻找源故障转移功能https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html,如果对第一个源的请求开始失败,它可以让您故障转移到第二个源。或者,您也可以配置 route53 健康检查并在 DNS 级别进行故障转移 https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html

      【讨论】:

        猜你喜欢
        • 2014-04-18
        • 2021-12-15
        • 2014-04-04
        • 1970-01-01
        • 2014-02-22
        • 2017-12-30
        • 2011-08-24
        • 2021-05-20
        • 2012-07-14
        相关资源
        最近更新 更多