目录指令:AuthType None 但仍然需要 AuthProvider?

目录指令:AuthType None 但仍然需要 AuthProvider?

我使用的是 Apache 2.2 而不是 2.4,这解释了标题中的错误。在 Brain99 发布评论后,我发现我使用的是 2.2,根据他的建议调整了我的配置(仍然不起作用),尝试了一下,睡了一晚,第二天我发现,我忘记了 mod-enabled 目录的 Include 语句!

现在我只需要服务器允许我从一个特定文件夹下载文件(在我的情况下,我选择/ opt / myFolder执行该任务)

发行版是 Debian 6.0

编辑开始

Apache 版本为 2.4,根据其官方文档,Order/Allow 子句已被弃用,不应再使用

我是白痴:Apache版本是2.2。

编辑结束 apache2.conf 中的目录指令如下所示:

<IfModule dir_module>
                DirectoryIndex index.html index.htm index.php
</IfModule>
ServerRoot "/etc/apache2"
DocumentRoot "/opt/myFolder"
<Directory />
        Options FollowSymLinks
        AuthType None
        AllowOverride None
        Require all denie
</Directory>
<Directory "/opt/myFolder/*">
        Options FollowSymLinks MultiViews
        AllowOverride None
        AuthType None
        Require all allow
</Directory>

当我尝试访问该文件夹内的文件时(http://myserver.de/aTestFile.zip)我收到内部服务器错误。Apache 还将以下错误写入其日志中:

configuration error:  couldn't check user.  Check your authn provider!: /aTestFile.zip

如果我不想进行任何身份验证,为什么我需要 authn 提供程序?另外,我希望有人能向我解释我需要哪种 AuthenticationProvider。每次我搜索这些东西时,都会有人问我如何用密码保护文件/目录或限制对某些 IP 地址的访问,这对我没什么帮助。

好的,因为我使用的是 Apache 版本 2.2,所以当我使用 Order/Deny/Allow 命令而不是 AuthType/Require 时会出现以下错误:

Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration.

答案1

我认为这是由于以下错误的配置指令造成的:

Require all denie
Require all allow

请尝试以下配置:

<Directory />
        Options FollowSymLinks
        AuthType None
        AllowOverride None
        Order deny,allow
        Deny from all
</Directory>
<Directory "/opt/myFolder/*">
        Options FollowSymLinks MultiViews
        AllowOverride None
        AuthType None
        Order deny,allow
        Allow from all
</Directory>

编辑2:您的问题也可能是由于mod_authz_host模块未加载。您可以尝试启用此功能a2enmod authz_host并重新启动 Apache。

此外,这似乎是无效的。只需从配置中完全AuthType None删除该指令即可。AuthType

相关内容