Azure 中是否有一种简单的方法可以将所有 HTTP(S) 请求重定向到“服务器关闭”状态页面?

Azure 中是否有一种简单的方法可以将所有 HTTP(S) 请求重定向到“服务器关闭”状态页面?

我有一个 Web 服务器(Windows/IIS),它托管在 Azure 上作为 VM 运行的各种 Web 应用程序。

现在,我需要对 Web 服务器进行一些维护,这将涉及关闭和重新配置 VM。在此停机期间(应该很短,但如果发生意外情况,可能会更长),访问 Web 应用程序的客户端将遇到超时,这对用户来说不太友好。相反,我希望他们看到一个很好的“此服务器正在进行维护,请几分钟后重试”信息。

我目前能想到的最好的主意是:

  1. 创建第二个带有 Web 服务器的 VM(可能是一台简单的 Linux 机器,以便我可以存储并保留 Web 服务器配置文件以供下次需要时使用),仅为所有请求提供静态维护消息。
  2. 将我们生产虚拟机的外部IP附加到这个“维护通知虚拟机”。
  3. 进行维护。
  4. 将生产虚拟机的外部 IP 附加回生产虚拟机。

步骤 1 似乎需要做很多工作(特别是因为所有网站都使用 HTTPS),因此我想知道是否存在我所忽略的更简单的方法。

我发现的相关问题:

答案1

您可以使用 Azure 存储静态 Web 托管来托管静态维护页面,而无需完整的 Web 服务器。

我建议为您的管理页面设置一个静态 Web 应用。之后,您可以在现有应用前面放置一个流量管理器,该管理器有两个后端 - 一个指向应用,另一个指向静态维护页面。此设置允许您根据需要禁用或启用相应的后端。

相关内容