Я перешел из размещенных в Apache 2.2 репозиториев Subversion в VisualSVN (v3.9.2 с Apache 2.4) с аутентификацией Windows (базовая версия).Это новая настройка, без обновления, и после импорта репозиториев я могу оформить заказ, обновить и зафиксировать просто отлично.Также работает доступ к веб-интерфейсу через браузер (требуются имя и пароль).
Теперь я хочу исключить pdf-файлы из-за необходимости аутентификации, чтобы любой, кто знает правильный URL-адрес, мог просматривать их с помощью браузера..
В старой настройке я добавил этот раздел местоположения:
<LocationMatch ^.+\.[pP][dD][fF](\?[pr]=\d+)*$>
AuthType None
Allow from all
Satisfy Any
Require all granted
</LocationMatch>
Удаление директив Allow.../Satisfy...
, поскольку они больше не поддерживаются, позволяет мне запустить сервер, но выдает код ошибки 500при доступе к файлам pdf.
Если у меня есть только директива Require all granted
, она все равно запрашивает имя и пароль.
После некоторых исследований и сравнения с автоматически сгенерированным httpd.conf я добавилнекоторые опции и пробовали разные комбинации из них, но ни одна из них не работала:
<LocationMatch "^.+\.[pP][dD][fF]\/?(\?[pr]=\d+)?$">
AuthType None
AuthMerging Or
SVNPathAuthz off
AuthzVisualSVNAuthoritative off
SVNOverrideAll on
Require all granted
</LocationMatch>
Если я перехожу браузер в папку внутри репозитория и вводю учетные данные, а только затем перехожу к PDF-файлу, который работает.Только если я открою ссылку на файл pdf без предварительной аутентификации, я получу ошибку сервера.На сервере журнал событий показывает следующее сообщение об ошибке:
AH00027: No authentication done but request not allowed without authentication for /svn/Test/trunk/test.pdf. Authentication not configured?
[client 10.1.1.254]
При более высоком уровне регистрации для сервера apache у меня была эта информация при доступе в pdf:
AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
AH01626: authorization result of Require all granted: granted
AH01626: authorization result of <RequireAny>: granted
AH01626: authorization result of AuthMerging Any: granted
Так что кажетсякак Apache предоставляет доступ, но VisualSVN все еще требует аутентификации.
Кто-нибудь сделал что-то подобное и нашел решение?