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站点文件,然后删除此文件.
这里讨论其他技术的策略.
在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文件.
这适用于只有一台服务器没有负载平衡和其他东西的情况.也应该用于负载平衡.