如何实现"离线维护"页面?

sha*_*oth 8 language-agnostic web

偶尔当我尝试打开一个网站时,我会看到一个页面上写着"这个站点离线以进行维护",然后一些评论跟随它可能需要多长时间.Stack Overflow也是如此.

它是如何工作的?我的意思是,如果网站关闭谁回复我的HTTP请求并提供此页面?

Noo*_*ilk 18

在asp.net中有一个技巧,你可以在其中放置一个名为的文件

App_Offline.htm
Run Code Online (Sandbox Code Playgroud)

所有请求都将转到此页面,直到删除该页面.

对于其他环境,您通常只需更改服务器指向的位置或其他此类计划.

- 编辑

通过负载平衡等方式实现与服务器无关的方法.

您可以将请求发送到给定的内部服务器.然后,您可以决定将所有请求指向服务器"a",您可以将其配置为显示"停机时间"页面.然后,您对服务器"b"进行更改,确认其成功,并将所有请求指向"b".然后你更新'a',让请求同时发送给两者.


Ric*_*dOD 11

在ASP.NET(以及Stackoverflow使用的ASP.NET MVC)中,这是由app_offline.htm功能提供的.这可以通过将所有ASP.NET请求转发到app_offline.htm文件来实现.

顺便说一句,ASP.NET中的复制Web站点工具执行将此文件放在Web应用程序的根目录中的过程,复制Web站点文件,然后删除此文件.

这里讨论其他技术的策略.


Qua*_*mis 5

在apache中,您可以使用带有此内容的.htacces文件.

order deny,allow
allow from 192.168.1.151
deny from all

ErrorDocument 403 404.html
ErrorDocument 404 404.html
ErrorDocument 500 404.html
Run Code Online (Sandbox Code Playgroud)

这将拒绝除一个IP之外的所有人访问并提供静态404.html文件.

这适用于只有一台服务器没有负载平衡和其他东西的情况.也应该用于负载平衡.