无法弄清楚如何使用lighttpd接收http请求

时间:2016-12-23 06:18:24

标签: web telnet lighttpd

我有一个简单的lighttpd网络服务器在我的路由器上运行。在它的.conf文件中我知道我需要设置

$ HTTP [“querystring”] =〜“cams = on”{telnet通过托管poe开关打开摄像头}

我遇到的问题是试图找出如何实际运行一个脚本,将telnet命令发送到我的poe交换机。我从来没有做过这样的事情,我也找不到任何不熟悉网络服务的人的帮助。

1 个答案:

答案 0 :(得分:1)

使用lighttpd有多种方法可以做到这一点。其中最简单的是使用CGI。 https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModCGI

server.modules += ( mod_cgi )
$HTTP["query-string"] =~ "cams=on" {
  cgi.assign = ( "" => "/path/to/control-script" )
}

当lighttpd收到带有该查询字符串的请求时,将执行/ path / to / control-script。 (在网上搜索关于CGI脚本在环境中的期望的教程,比如环境变量QUERY_STRING =" cams = on")

请注意,建议您将脚本限制为某些路径,而不是在对服务器的任何其他部分的任何请求中拦截该查询字符串。如果脚本在已知路径上运行并且可以在查询字符串中处理多个不同的命令,则可以省略$ HTTP [" query-string"]条件。

server.modules += ( mod_cgi )
$HTTP["url"] =~ "^/control/" {
  $HTTP["query-string"] =~ "cams=on" {
    cgi.assign = ( "" => "/path/to/control-script" )
  }
}

最后,您可能希望使用lighttpd mod_auth来限制谁可以访问控制脚本。 https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModAuth