我有一个脚本可以生成一份每日报告,我想将其提供给所谓的公众。问题是我不想让 HTTP 服务器(例如 Apache)的所有配置和安全隐患的维护变得更加令人头疼。
是否有一种非常简单的解决方案可以为一个小型 HTML 页面提供服务,而无需配置完整的 HTTP 服务器?
答案1
尝试简单HTTP服务器:
python3 -m http.server 8080
或者,对于 Python 2
python -m SimpleHTTPServer 8080
要绑定 IP 地址,请执行以下操作
python -m SimpleHTTPServer 8080 -b 0.0.0.0
或者对于Python 3
python3 -m http.server 8080 -b 0.0.0.0
它将服务于其中的任何内容连续WD(例如index.html)位于http://0.0.0.0:8000。
答案2
有一个http 静态服务器的大列表:
要进入此列表,解决方案必须:
- 使用当前目录(或指定目录)作为服务器根目录提供静态文件
- 能够使用单个一行命令运行(如果依赖项是一次性的,那么它们就很好)
- 使用适当的 mime 类型提供基本文件类型(html、css、js、图像),除了命令本身之外不需要配置(从文件或其他方式)(没有特定于框架的服务器等)
- 必须在前台运行,或者具有可以运行的模式(即没有守护进程)
例如:
-
twistd -n web -p 8000 --path .
埃尔兰:
erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'
-
cpan Plack plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000
-
webfsd -F -p 8000
-
ruby -run -ehttpd . -p8000
答案3
使用node.js
,快速且轻便。
或者
只需使用简单的nc
netcat 命令在端口上启动快速 Web 服务器并提供文件内容(包括服务器响应标头)。
参考维基百科:
{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat some.file; } | nc -l -p 8080
{ echo -ne "HTTP/1.0 200 OK\r\nContent-Length: $(wc -c <some.file)\r\n\r\n"; cat some.file; } | nc -l -p 8080