网络故障时如何显示网站维护页面

网络故障时如何显示网站维护页面

我们在内部(DMZ 内)托管 ASP.NET 网站。当我们进行网络维护等时,我们希望我们的网站显示维护页面,但我们的网络已关闭,因此我们的托管服务器已关闭。我们不托管 DNS 条目(它是在外部处理的),因此我们可以在外部托管维护页面,但推动 DNS 更改进行维护会花费太长时间。我们可以采用哪些解决方案来处理此处的网络中断,同时仍向外部用户表明我们仍然存在?哪些方法对您有效,您尝试过哪些方法?

答案1

当后端站点不可用时,指向您的实时站点的异地反向代理可以显示默认页面。

答案2

我使用 haproxy 进行此设置。它托管在外部 Linux VPS 上。当代理系统能够成功获取实际 Web 服务器上的健康检查页面时,就会将其提供给客户端。当健康检查失败时,它会从代理 VPS 本地的 Apache 服务器提供静态页面。

这是我的haproxy.conf:

global
maxconn 4096
daemon
defaults
mode http
clitimeout 60000
srvtimeout 30000
contimeout 4000
option httpclose # Disable Keepalive

listen FarmName 10.9.8.7:80
        mode http
        stats enable
        stats auth admin:Fa2a6eSe
        balance roundrobin
        cookie haCookie insert nocache
        option httpclose
        option forwardfor
        option httpchk HEAD /healthcheck HTTP/1.0
        server active 1.2.3.4:5080 check
        server static-backup 127.0.0.1:80 check inter 500 rise 1 fall 2 backup

答案3

嗯,我不知道这是否是最佳解决方案,因为它增加了解决方案的复杂性:您可以在 Web 服务器(网络之外)前面放置一些反向代理(squid、MS ISA 等),并通过这些服务器运行请求。

因此,当你计划停机时,你只需更改一些规则来显示静态“抱歉,我们处于离线状态”信息。

答案4

为什么不只为单个工作站/服务器配备 IIS 来显示单个静态维护页面呢?当您需要关闭 Web 服务器时,只需启动维护工作站并确保它响应传入的 Web 请求即可……

由于静态网页简单,您可能只需要一个小型/中型工作站,甚至一台笔记本电脑...您甚至可以使用离线虚拟机,直到您需要它为止...

似乎其他所有事情都比必要的更费力……

相关内容