一个最小的networking服务器端口80将是
python -m SimpleHTTPServer 80
但是我总是只显示一个页面,名字叫maintenance.html ,不pipe要求什么页面。
浏览器中的url仍然应该保留访问者请求的url,但是没有错误页面。
主要为这个娱乐价值给出这个答案,但是你可以使用任何超级服务器 (xinetd也可以完成这个工作),并且为80端口上的每个请求运行一个简单的脚本。脚本将等待标准的空行input,然后打印一个准备好的静态响应。 不知道你可以得到多less轻量级。
例如,如果使用DJB的tcpserver (我发现很容易使用这种简单的任务),你可以这样做:
$ tcpserver 127.0.0.1 1080 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
在answer文件中可以有:
HTTP/1.0 200 Date: Fri, 02 Nov 2012 16:05:54 GMT Content-Length: 15 Content-Type: text/html; charset=utf-8 This is a test
你可以得到像你想要的创意。
这是我如何testing它:
$ wget -q -O - http://localhost:1080/ This is a test
更新:对于任何人认真考虑这一点,对于一个现实的使用tcpserver你最好像这样开始:
tcpserver -H -R -l $HOSTNAME -u $(id -u nobody) -g $(id -g nobody) 0.0.0.0 80 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
在默认情况下,tcpserver会查找有关传入连接和-H (不要在DNS中查找远程名称)的信息,而-R (不要使用ident查找远程信息)将加快响应传入连接的速度。 -u和-g将在接收到80端口的连接后放弃权限,并且必须以root身份启动才能在端口80上侦听。
当然,确保没有其他人在80端口上收听。
大概这是由你先前的问题的答案。
为什么不(暂时)在Apache中应用redirect规则将所有内容指向您的sitedown页面? (如果通过代理请求而不是redirect,那么在该位置的任何PHP脚本将能够读取所请求的URL)。 您可以交换不同的configuration,而不会丢失使用正常重启的任何请求。