Nginx и SVN (405 Not Allowed)
Monday, 21 June 2010

Установил Subversion на сервере под управлением apache+nginx в виртуальный подкаталог /svn

Настроил, работает и крутится. Но не полностью — никак не коммитятся файлы с картинками, имеющими разрешение png, jpg и т.д. При этом svn ругается следующим образом:

Commit failed (details follow):
Server sent unexpected return value (405 Not Allowed) in response to PROPFIND
request for '.......'
 
 

Долго колупался, но все-таки нашел на каком-то заброшенном форуме вопрос про такую же ситуацию и упоминание, что если в конфиге nginx отредактировать строчку

location ~* ^.+\.(jpeg|jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|djvu|mht|chm)$ { ...
 
 

, убрав оттуда расширения файлов, которые не могут закоммититься, то все работает. Проверил - действительно, работает. Но отключать кэширование таких файлов — не решение.

Вместо этого надо исключить виртуальный подкаталог svn из обрабатываемых nginx'ом каталогов. За это отвечает секция nginx.conf примерно следующего вида:

location ~* ^/(awstats|myadmin/|svn/) {
proxy_pass http://xx.xx.xx.xx:8080;
proxy_redirect http://yoursite.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
 
 
После этой правки проблемные файлы отправляются в репозиторий, как по маслу.
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:
Жирный Курсив Подчеркнутый Зачеркнутый Цитата


Защитный код
Обновить

< Пред.   След. >