如何授予对 SVN 服务器 (Apache 2.2) 上“/.well-known”目录的访问权限

Ret*_*ner 5 mod-dav-svn apache-2.2 lets-encrypt

我不知道如何禁用.well-known目录的身份验证。

当我删除 SVN 特定指令(DAV、SVNPath、AuthzSVNAccessFile)时,事情会按预期运行。

<VirtualHost *:443>
  ServerName www.example.com
  DocumentRoot "C:/www.example.com"
  ServerAdmin admin@example.com

  SSLEngine On
  SSLCertificateFile "C:/Apache2/conf/ssl/www.example.com.crt"
  SSLCertificateKeyFile "C:/Apache2/conf/ssl/www.example.com.key"

  <Location />
    DAV svn
    SVNPath "C:/svnrepo"
    SSLRequireSSL 

    AuthName "www.example.com"
    AuthType Basic
    AuthUserFile "conf/svn/svn-users.txt"
    AuthGroupFile "conf/svn/svn-groups.txt"
    AuthzSVNAccessFile "conf/svn/svn-access.txt"

    Require valid-user
  </Location> 

  <Location "/.well-known">    
    Satisfy Any
    Allow from all
    Require all granted
    # Apache 2.4 only
    #AuthType None
  </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

编辑:如果我没有重叠的路径,它也会起作用。例如使用/svn/.well-known。不幸的是,这不是我现在可以轻易改变的事情。

小智 3

您可以检查 apacheDirectory选项。下面是一个配置示例:

    <Directory /home/html/.well-known/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
Run Code Online (Sandbox Code Playgroud)