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

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

概述端口80上的最小网络服务器将是 python -m SimpleHTTPServer 80 但我想一直只显示一个名为maintenance.html的页面,无论请求的页面是什么. 浏览器中的网址仍应保留访问者请求的网址,但不会显示错误页面. 主要给出娱乐价值的答案,但你可以使用任何 super-server(xinetd也可以完成这项工作)并使其为端口80上的每个请求运行一个简单的脚本.脚本将在标 端口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 200Date: Fri,02 Nov 2012 16:05:54 GMTContent-Length: 15Content-Type: text/HTML; charset=utf-8This 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上侦听.

总结

以上是内存溢出为你收集整理的web-server – 如何设置最小的网络服务器,在所有请求中只提供一个页面?全部内容,希望文章能够帮你解决web-server – 如何设置最小的网络服务器,在所有请求中只提供一个页面?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存