Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t在Apache中的Perl脚本中调用ScriptAlias站点_Apache_Perl_Cgi - Fatal编程技术网

Can';t在Apache中的Perl脚本中调用ScriptAlias站点

Can';t在Apache中的Perl脚本中调用ScriptAlias站点,apache,perl,cgi,Apache,Perl,Cgi,我正在运行Apache2.4服务器。我有以下脚本: 1 #!/usr/bin/perl 2 3 use strict; 4 use warnings; 5 use Getopt::Std; 6 7 my $build = `curl -s https://myserver.myurl.com/mydir/myscript.pl`; 8 print "$build\n"; 此脚本位于Apache服务器上。如果我在apache服务器上运行此脚本,它将无法工作。我

我正在运行Apache2.4服务器。我有以下脚本:

  1 #!/usr/bin/perl
  2 
  3 use strict;
  4 use warnings;
  5 use Getopt::Std;
  6 
  7 my $build = `curl -s https://myserver.myurl.com/mydir/myscript.pl`;
  8 print "$build\n";
此脚本位于Apache服务器上。如果我在apache服务器上运行此脚本,它将无法工作。我一无所获

如果我在本地运行此脚本,它将按预期工作。它在apache服务器上执行我的script.pl,我得到了正确的数据

我可能做错了什么?任何有助于我调试的信息都是鼓励的

以下是我在apache配置文件中对此目录的配置设置:

ScriptAlias /mydir/ /srv/mydir/
<Directory /srv/mydir/>
    Options FollowSymLinks
    AllowOverride None

    Require all granted
</Directory>
ScriptAlias/mydir//srv/mydir/
选项如下符号链接
不允许超限
要求所有授权

好的,在我发布这个问题后不久,我就找到了原因

因此,如果我将curl命令语法更改为:

my $build = `curl -v https://myserver.myurl.com/mydir/myscript.pl`;
我能够看到详细的输出。输出中嵌入了以下内容:

* server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
* Closing connection 0
curl: (60) server certificate verification failed.
通过将curl命令语法修改为以下内容,我可以绕过此证书验证,从而使其正常工作:

my $build = `curl -k https://myserver.myurl.com/mydir/myscript.pl`;
标志-k--unsecure的别名。基本上绕过了证书验证


正确的方法是让我找出为什么没有安装证书,然后自己安装。

服务器上可能没有安装curl。