web-server – 如何设置最小的网络服务器,在所有请求中只提供一个页面?

前端之家收集整理的这篇文章主要介绍了web-server – 如何设置最小的网络服务器,在所有请求中只提供一个页面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
端口80上的最小网络服务器将是
python -m SimpleHTTPServer 80

但我想一直只显示一个名为maintenance.html的页面,无论请求的页面是什么.

浏览器中的网址仍应保留访问者请求的网址,但不会显示错误页面.

解决方法

主要给出娱乐价值的答案,但你可以使用任何 super-server(xinetd也可以完成这项工作)并使其为端口80上的每个请求运行一个简单的脚本.脚本将在标准输入上等待一个空行.然后打印准备好的静态响应.不确定你能获得多少轻量级.

例如,如果使用DJB’s tcpserver(我觉得它很容易用于这些琐碎的任务)你可以这样做:

$tcpserver 127.0.0.1 1080 sh -c 'awk "/^\r*$/ { exit }"; cat 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

您可以随心所欲地获得创意.

这是我测试它的方式:

$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上侦听.

猜你在找的HTML相关文章