Без граблей переезд сервера не обошелся
Feb. 20th, 2016 08:04 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Перестал работать dav.
Возвращает 405 Method Not Allowed в директории, где явно прописано DAV on.
Как выяснилось, в Apache 2.4 кто-то додумался, что DAV (в смысле методы PROPFIND, OPTIONS и иже с ними) должны быть разрешены только там, где DirectoryIndex disabled.
Я даже понимаю, какая извращенная security-логика за этим стояла. Ну примерно такая же как за стриптизом в аэропортах.
Но вот раньше можно было DAV-клиентом редактировать сайт по тому же URL по которому его смотреть в браузере. При этом в браузере ты видел сайт, а в DAV-клиенте - список файлов (он их методом PROPFIND смотрит, а не GET).
Теперь почему-то разработчики Apache настаивают что по той URL, по которой можно использовать DAV-клиент, браузер тоже должен видеть пачку файлов.
Раньше соответствующий кусок конфига апача выглядел как
Теперь приходится делать вот так:
И, соответственно, браузер натравливаем на https://my.server.domain, а кадавра - на
https://my.server.domain/dav
Хотя казалось бы разделение на URL для редактирования и URL для просмотра имело смысл тогда, когда статические сайты смотрели по http, а не в эпоху всеобщего https.
Теперь вопрос - а какой юз-кейс остался для директивы LimitExcept?
Возвращает 405 Method Not Allowed в директории, где явно прописано DAV on.
Как выяснилось, в Apache 2.4 кто-то додумался, что DAV (в смысле методы PROPFIND, OPTIONS и иже с ними) должны быть разрешены только там, где DirectoryIndex disabled.
Я даже понимаю, какая извращенная security-логика за этим стояла. Ну примерно такая же как за стриптизом в аэропортах.
Но вот раньше можно было DAV-клиентом редактировать сайт по тому же URL по которому его смотреть в браузере. При этом в браузере ты видел сайт, а в DAV-клиенте - список файлов (он их методом PROPFIND смотрит, а не GET).
Теперь почему-то разработчики Apache настаивают что по той URL, по которой можно использовать DAV-клиент, браузер тоже должен видеть пачку файлов.
Раньше соответствующий кусок конфига апача выглядел как
DocumentRoot /srv/www <Directory /srv/www> Dav On AuthType Basic AuthName DAV AuthUserFile /etc/apache2/dav.passwd <LimitExcept GET OPTIONS> require valid-user </LimitExcept> </Directory>
Теперь приходится делать вот так:
DocumentRoot /srv/www Alias /dav /srv/www <Directory /srv/www> Require all granted </Directory> <Location /dav> DirectoryIndex disabled Dav On AuthType Basic AuthName DAV AuthUserFile /etc/apache2/dav.passwd Require valid-user </Location>
И, соответственно, браузер натравливаем на https://my.server.domain, а кадавра - на
https://my.server.domain/dav
Хотя казалось бы разделение на URL для редактирования и URL для просмотра имело смысл тогда, когда статические сайты смотрели по http, а не в эпоху всеобщего https.
Теперь вопрос - а какой юз-кейс остался для директивы LimitExcept?
no subject
Date: 2016-02-21 06:55 pm (UTC)no subject
Date: 2016-02-22 08:08 pm (UTC)no subject
Date: 2016-05-03 07:29 pm (UTC)Поскольку для большинства сайтов с активным содержимым DirectoryIndex и так выключен и реализуется скриптом а не апачем,
в чём угроза сочетания разрешенного автоматического индекса и DAV?
Если бы явно DAV запросы и GET POST сделали взаимоисключающими была бы какая то логика.
no subject
Date: 2016-05-03 08:25 pm (UTC)