如何在 AWS 中执行外部维护模式,同时保持站点对内部用户的正常运行?

如何在 AWS 中执行外部维护模式,同时保持站点对内部用户的正常运行?

有人能告诉我如何将 AWS 中的站点设置为维护模式,供外部用户(即世界各地的人)使用,但让内部用户(即公司网络上的用户)使用该站点吗?以下是我们的云拓扑:

mysite.abc.com -> CloudFlare -> AWS Route53 -> AWS ELB -> AWS EC2

我只需使用 Route53 中的加权路由并将所有请求发送到 CloudFront/S3 中的维护页面,即可轻松将网站置于所有人的维护模式。不过,我不知道如何根据客户端 IP 进行选择性重定向。谢谢。

答案1

ELB 和 Route53 无法根据源 IP 改变流量。

我可能会采用的一些选择:

  1. 创建第二个域名,专门且仅供内部用户知道
  2. 更改您本地(公司)的 DNS 解析器,使其指向正确的 ELB,同时重定向其他所有人(外部)。
  3. 在 EC2 实例上设置重定向服务,例如使用 Nginx,将所有非公司 IP 重定向到 CloudFront,然后通过 proxy_passes 将其余 IP 转发到您的应用程序

最后一个是最灵活的,可能会在其他方面给你带来好处,比如能够进行紧急故障转移等

相关内容