我正在使用以下命令运行busybox httpd:
busybox httpd -p 80 -h /var/www
它可以工作,但是我需要将缓存控制标头设置为无缓存。
目前我的服务器仅附加这些标头:
HTTP/1.0 200 OK
Content-type: text/html
Date: Thu, 28 Jun 2018 06:58:08 GMT
Connection: close
Accept-Ranges: bytes
Last-Modified: Thu, 28 Jun 2018 06:57:43 GMT
Content-Length: 45
如何配置我的busybox httpd 服务器以追加
Cache-Control: no-cache
标题?
BusyBox HTTP Daemon (httpd) webserver 是一个自己的简单 web 服务器实现,没有广泛的配置选项,正如您从OpenWRT 配置文档或源代码中的注释块
httpd.c
(第 39-60 行)中看到的那样:您对 BusyBox HTTPd 的选择:
httpd.c
添加头文件并编译。或者安装一些更通用的 Web 服务器:Nginx、Apache、Lighttpd ...
docker run -d --name busybox-http -p 8080:8080 -e TZ=UTC-8 busybox sh -c " echo GMT-8 > /etc/TZ mkdir -p /root/cgi-bin cat > /root/ cgi-bin/a.html <<EOF #!/bin/sh echo -e 'Content-Type: text/plain\n' echo "hostname=[\$(hostname)], time=[\$(date ' +%F %T')], query=[\${QUERY_STRING}], path=[\${PATH_INFO}]" echo "requestUrl=[\${REQUEST_URI}]" echo -e "\n===环境列表:\n\$(env|sed 's/\n/
/g')" EOF chmod u+x /root/cgi-bin/a.html httpd -p 8081 -h /root cat > /root/ httpd.conf <<EOF P:/:http://localhost:8081/cgi-bin/a.html/ EOF httpd -p 8080 -c /root/httpd.conf sleep infinty "
卷曲 localhost:8080/a/b?c=1
结果输出:
主机名=[e95c54e5ff19],时间=[2021-01-19 23:20:42],查询=[c=1],路径=[/a/b] requestUrl=[/cgi-bin/a.html/a /b?c=1]
=== 环境列表:GATEWAY_INTERFACE=CGI/1.1 HOSTNAME=e95c54e5ff19 SHLVL=2 REMOTE_ADDR=[::ffff:127.0.0.1] HOME=/root QUERY_STRING=c=1 HTTP_USER_AGENT=curl/7.29.0 REMOTE_PORT=51456 HTTP_ACCEPT= / SCRIPT_FILENAME=/root/cgi-bin/a.html HTTP_HOST=localhost:8080 REQUEST_URI=/cgi-bin/a.html/a/b?c=1 SERVER_SOFTWARE=busybox httpd/1.31.1 PATH=/usr/local/ sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SERVER_PROTOCOL=HTTP/1.0 PATH_INFO=/a/b REQUEST_METHOD=GET PWD=/root/cgi-bin SCRIPT_NAME=/cgi -bin/a.html