端口 80 上的最小网络服务器将是
python -m SimpleHTTPServer 80
Run Code Online (Sandbox Code Playgroud)
但我想始终只显示一页maintenance.html
,无论请求什么页面。
浏览器中的 url 应该仍然是访问者请求的 url,但没有错误页面。
给出这个答案主要是为了娱乐价值,但您可以使用任何超级服务器(xinetd 也可以完成这项工作)并使其为端口 80 上的每个请求运行一个简单的脚本。该脚本将等待标准的空行输入然后打印准备好的静态响应。不确定你能得到多少轻量级。
例如,如果使用DJB 的 tcpserver(我发现它很容易用于此类琐碎的任务),您可以执行以下操作:
$ tcpserver 127.0.0.1 1080 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
Run Code Online (Sandbox Code Playgroud)
在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
Run Code Online (Sandbox Code Playgroud)
您可以随心所欲地发挥创意。
这是我测试它的方法:
$ wget -q -O - http://localhost:1080/
This is a test
Run Code Online (Sandbox Code Playgroud)
更新:对于认真考虑这一点的任何人,为了实际使用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'
Run Code Online (Sandbox Code Playgroud)
默认情况下,tcpserver 查找有关传入连接的信息,并且-H
(不要在 DNS 中查找远程名称)和-R
(不要使用 ident 查找远程信息)将加快对传入连接的响应。-u
并且-g
会在收到端口 80 上的连接后放弃特权,您必须以 root 身份启动它才能在端口 80 上侦听。
当然,请确保没有其他东西在侦听端口 80。
归档时间: |
|
查看次数: |
1720 次 |
最近记录: |