Nginx + Apache + Subversion

Sergey Kobzar sergey.kobzar на itcraft.org
Ср Мар 9 12:49:08 MSK 2011


Приветствую.

Криво работает связка Nginx (HTTPS) + Apache (HTTP) + Subversion. А 
именно checkout работает, commit новых файлов работает, а вот изменение 
существующих файлов обламывается с ошибкой. svn import тоже обламывается 
на первом файле.

sak на lynx ~/tuugo $ touch ./test
sak на lynx ~/tuugo $ svn add ./test
A         test
sak на lynx ~/tuugo $ svn commit -m "Testing"
Adding         test
Transmitting file data .
Committed revision 14563.

sak на lynx ~/tuugo $ vi ./untitled.php
sak на lynx ~/tuugo $
sak на lynx ~/tuugo $ svn commit -m "Testing 2"
Sending        untitled.php
svn: Commit failed (details follow):
svn: File 'untitled.php' is out of date
svn: '/svn/tuugo/!svn/bc/14562/untitled.php' path not found

Смущает !svn в пути

если Апач выставить напрямую мордой в инет - все работает без проблем.


У apache-2.2.16 один дефолтный virtualhost:
Listen localhost:8880


<VirtualHost _default_:8880>
         ServerName localhost
         ServerAdmin webmaster на localhost

         CustomLog /var/log/apache2/localhost_access.log common
         ErrorLog /var/log/apache2/localhost_error.log

         DocumentRoot "/home/www/default/htdocs"

         <Location /svn>
                 DAV svn
                 SVNParentPath /home/svn/repo
                 AuthzSVNAccessFile /home/svn/conf/access.conf

                 AuthType Basic
                 AuthName "Restricted area"
                 AuthUserFile /home/svn/conf/users
                 Require valid-user

                 Order allow,deny
                 Allow from all
         </Location>
</VirtualHost>


nginx-0.8.53:

server {
         listen 443 default ssl;
         server_name localhost;

         ssl on;

...

         location /svn {
                 proxy_pass http://localhost:8880;

                 set $fixed_destination $http_destination;
                 if ( $http_destination ~* ^https(.*)$ ) {
                         set $fixed_destination http$1;
                 }
                 proxy_set_header Destination $fixed_destination;

                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For 
$proxy_add_x_forwarded_for;
         }

subversion-1.6.16

Linux 2.6.36-gentoo-r5 x86_64


Есть идеи?


Спасибо.



Подробная информация о списке рассылки nginx-ru