ScriptAlias
我正在尝试在服务器上设置apache2
,但是当我尝试使用别名连接它时,出现错误Forbidden
:
这是我的/etc/apache2/apache.conf
:
cgi.load
已启用/etc/apache2/mods-enabled/
:
这是/new-cgi/foo.cgi
文件及其权限:
如果我这样做sudo su www-data -s /bin/bash
,我就可以访问该文件并执行它,没有任何问题。
日志中有一些警告(不是致命的),另外还有一个AH01630: client denied by server configuration
我相信是问题的原因,但我不知道如何解决它:
我的 Apache2 版本是 2.4.41
提前感谢你的帮助!
答案1
您的脚本别名定义在右侧参数中缺少 /。它实际上为您在配置中输入的内容指定了别名,因此如果左侧参数有斜杠,而右侧没有,您最终会缺少 /。
在您的情况下,没有以 命名的目录或文件new-cgifoo.cgi
,/
因此配置拒绝它。
确切的文档在这里:https://httpd.apache.org/docs/2.4/mod/mod_alias.html#scriptalias