在部署/测试期间,如何将用户重定向到白名单 IP 地址以外的其他站点?

在部署/测试期间,如何将用户重定向到白名单 IP 地址以外的其他站点?

我在 Centos 6 机器上的单个 Apache 服务器上有一个 Rails 4 应用程序。

目前,我正在手动部署,效果很好,只需几分钟。我对此没有异议。为了成为一名聪明的开发人员,我希望能够“关闭”我的网站,进行部署、测试,然后在验证其安全并正常运行后将其恢复。我的所有开发都在本地进行,因此这纯粹是为了部署方面。现在,“关闭”的意思是,我希望暂时限制对 IP 地址白名单(我和我的测试人员)的访问,并将所有其他地址重定向到另一个虚拟站点。(基本上是一个带有“当前正在更新”消息或其他内容的静态 html 页面)

我尝试四处寻找,但还没有找到我真正想要的东西。这需要简单,并且具有“电灯开关”的功能,可以在需要时打开和关闭。

这方面的“最佳实践”是什么?应该通过 Apache 还是 Rails 来完成?

如果这是在 Rails 中完成的(可能使用 Action Dispatch),是否可以随时打开和关闭它,而无需重新编译应用程序?

答案1

这主要可以在 Rack 级别(低于 Rails,但在 Apache 之后)使用结果发现gem。它可以立即启用或禁用,而无需重新启动应用程序,并包括 IP 白名单。它不能 100% 回答您的问题,因为它本身不提供重定向,但维护页面是完全可自定义的。

相关内容