最近被一个问题所困扰,运行那个helloworld.cgi程序总是出现以下这个错误: 502 Bad Gateway The CGI was not CGI/1.1 compliant. 网上找了一下,可能是这几个原因: (1)将.cgi文件拷贝至目标板上后,必须改变其权限 chmod 755 * (2)测试程序中“//“的问题。参考<Web服务器--Boa实验笔记> http://www.pc51.net/system/unix/linux/2007-02-07/6888.html (3)修改 BOA 源码 cgi.c 添加环境变量: my_add_cgi_env(req, "LD_LIBRARY_PATH", "/lib");(函数complete_env中) 再重新交叉编译即可 (4) 同时请修改下 boa对CGI支持的缺陷。 (5)出现这个问题的原因是关于“库”方面的原因。如果你编译CGI文件的时候,用静态编译,则编译的时候,会自动地加入库。 arm-linux-gcc -static test.c -o test.cgi (http://topic.csdn.net/t/20061120/13/5171006.html#有相关讨论) (6) 说它不支持http 1.1 协议,那你在ie中也使用http 1.0协议访问它试试看。方法是点“工具”->"internet选项“->"高级",把“使用http 1.1协议"前面的勾去掉。 (7)如果是用flashfxp工具传送文件到目标板上,请选用二进制模式传送。我自己就出错在这里,在此感谢网友newzy帮忙解决这个问题。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐