当前位置: 首页 > 知识库问答 >
问题:

Perl/CGI不为/home/user/CGI工作,但为/var/www/CGI-bin工作

严修谨
2023-03-14

我的服务器已启用CentOS7、Apache 2.4和SELinux。

Perl/CGI适用于 /var/www/cgi-bin目录,但不适用于 /home/user/cgi目录。

错误日志显示以下测试错误。pl:

[Fri Jan 08 19:53:05.725795 2016] [cgi:error] [pid 7311] [client *:33769] End of script output before headers: test.pl
[Fri Jan 08 19:54:10.981964 2016] [cgi:error] [pid 7314] [client *:33770] End of script output before headers: test.pl

perl-wtest.pl在命令行上没有显示错误。

/home/user/cgi目录的SELinux设置为

drwxr-xr-x.  4 unconfined_u:object_r:httpd_sys_script_exec_t:s0 user user   83 Jan  8 20:05 .
drwxr-xr-x. 11 unconfined_u:object_r:user_home_dir_t:s0 user user 4096 Jan  7 12:08 ..
-rwxr-xr-x.  1 unconfined_u:object_r:httpd_sys_script_exec_t:s0 user user   90 Jan  8 20:05 test.pl

试验内容。pl公司

#!/usr/bin/perl

print "Content-type: text/html; charset=utf-8\n\n";
print "Hello\n\n";

httpd。形态

Options Indexes FollowSymLinks Includes ExecCGI
AddHandler cgi-script .cgi .pl
Require all granted
DirectoryIndex index.pl index.cgi 

链接到httpd相关的sebool选项:sebool非常感谢帮助...

共有1个答案

丌官皓君
2023-03-14

我明白了。

问题是由以下线路引起的:

SuexecUserGroup "#1000" "#1000"

删除该指令后,问题就解决了。

 类似资料:
  • Perl CGI编程 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1、使用你的浏览器访问URL并连接到HTTP web 服务器。

  • 下面是我的JavaScript代码: 下面是我的Perl脚本测试代码: 当页面加载时,连接立即关闭,在Chrome控制台窗口中,我看到以下错误:到“ws://198.38.89.14:3000/”的WebSocket连接失败:连接建立错误:NET::err_connection_rejected 我的问题是,如果是这样,我怎样才能做到这一点?

  • 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。 网页浏览 为了更好的了解CGI是如何工作的,我们可以从在网页上点击一个链接或URL的流程: 1、使用你的浏览器访问URL并连接到HTTP web 服务器。 2、Web服务器接收

  • 什么是CGI? 通用网关接口(CGI)是一组标准,用于定义如何在Web服务器和自定义脚本之间交换信息。 CGI规范目前由NCSA维护,NCSA定义CGI如下 - The Common Gateway Interface, or CGI, is a standard for external gateway programs to interface with information servers

  • CGI

    如果所有其它的部署方式都不能奏效,那么 CGI 毫无疑问会奏效。 CGI 被 所有主流服务器支持,但通常性能欠佳。 这也是你在 Google 的 App Engine 上使用 Flask 应用的方式,其执行方式 恰好是一个 CGI-like 的环境。 注意 请提前确保你在应用文件中的任何 app.run() 调用在 if __name__ == '__main__': 块中或是移到一个独立的文件。

  • CGI

    If all other deployment methods do not work, CGI will work for sure. CGI is supported by all major servers but usually has a less-than-optimal performance. This is also the way you can use a Werkzeug