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