Apache webserver要求有效用户导致内部服务器错误

时间:2017-09-11 20:51:32

标签: apache svn

我正在设置SVN服务器并希望限制访问权限,因此所有用户必须先登录才能查看/修改文件。我的dav_svn.conf看起来像这样:

<Location /svn>
  DAV svn
  SVNParentPath /home/pi/repos
  # Authentication: Digest
  AuthName "Subversion repository"
  AuthType Digest
  AuthUserFile /etc/apache2/svn-auth.htdigest
  # Authorization: Authenticated users only
  Require valid-user
</Location>

当我尝试访问该网页时,显示“内部服务器错误”。查看“/var/log/apache2/error.log”里面显示以下行:

  

[Mon Sep 11 20:36:47.755229 2017] [authn_core:error] [pid 30331:tid   1972368432] [client 192.168.0.103:59263] AH01796:AuthType Digest   配置没有相应的模块,引用:   http://192.168.0.100/svn/A/

我可以通过在“需要有效用户”周围添加额外的XML标记来更改dav_svn.conf来“修复”错误:

<LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
</LimitExcept>

然而,有了这个,我显然对所有人和他们的母亲开放观看权。我也可以通过尝试访问网页来验证这一点,而且我确实在没有密码的情况下进入。尝试POST时,我再次遇到同样的错误。

我试图在线搜索错误很多,但除了无数的例子之外,没有人似乎对它有任何问题......非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

好的,事实证明默认情况下未启用身份验证功能的这一特定部分。我在网上找到的例子没有提到。我做了以下事情:

  

sudo a2enmod auth_digest

给出了这个输出:

Considering dependency authn_core for auth_digest:
Module authn_core already enabled
Enabling module auth_digest.
To activate the new configuration, you need to run:
service apache2 restart

因此authn_core已经启用,但不是摘要。这很奇怪,因为已经可以创建摘要密码文件:

  

sudo htdigest -c /etc/apache2/svn-auth.htdigest realm“Subversion repository”