【发布时间】:2015-10-15 10:24:25
【问题描述】:
我正在尝试在以 linux 3.10.53 作为操作系统的基于 ARM 的定制板上设置轻量级 Web 服务器。我已经使用 Yocto 软件构建了操作系统。
我可以通过浏览器看到我的板上托管的 html 页面,但每当我发送 HTTP POST 请求时,我都会收到错误“501 Not Implemented The requested method is not Recognized”作为响应。
此外,当我发送 HTTP GET 请求时,浏览器会下载可执行文件而不是运行它。所有可执行文件(作为测试,仅以 html 方式打印纯字符串;源文件是用 C 代码编写的)都放在 web 服务器主目录的“cgi-bin”目录下。我确保更改了它们的所有者和权限,事实上,我可以从董事会终端很好地运行它们。
感谢您的帮助
在这里编辑,因为我无法检查我的答案是否正确:找到罪魁祸首:yocto 软件中busybox 构建的httpd 服务默认情况下不启用cgi。我必须手动启用它,方法是使用“bitbake busybox -c menuconfig”并检查“网络实用程序”菜单中的 cgi 支持标志
【问题讨论】:
标签: linux arm webserver busybox yocto