SVN + Apache + mod_dav + https

2013-10-11

Есть несколько вариантов решения проблемы с ошибкой «svn: E175002: COPY request on ‘/svn/sa/!svn/rvr/5/tmp’ failed: 502 Bad Gateway».

Один из них в виде конфига для индейца приведен ниже.

<VirtualHost vhost:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA;+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile"server.crt"
    SSLCertificateKeyFile "server.key"
    <Location /svn>
        DAV svn
        SVNParentPath "<svn_directory>"

        SVNPathAuthz off
        Order deny,allow
        Deny from all
        Satisfy any

        PerlAccessHandler Apache::Authn::Redmine::access_handler
        PerlAuthenHandler Apache::Authn::Redmine::authen_handler

        AuthType Basic
        AuthName "Redmine SVN Repository"
        <Limit GET PROPFIND OPTIONS REPORT>
            Require valid-user
            Allow from 127.0.0.1
            Allow from 192.168.0.0/16
            Deny from all
            Satisfy any
        </Limit>
        <LimitExcept GET PROPFIND OPTIONS REPORT>
            Require valid-user
            Allow from 127.0.0.1
            Allow from 192.168.0.0/16
            Deny from all
            Satisfy any
        </LimitExcept>
        PassengerEnabled off
        RedmineDSN "DBI:Pg:dbname=redmine;host=localhost"
        RedmineDbUser "redmine"
        RedmineDbPass "password"
    </Location>
</VirtualHost>

В моем случае помогла строчка конфига:

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA;+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

Вариант с строкой:

RequestHeader edit Destination ^https http early

и включенным mod_headers не помог и приводил все к той же 502ой ошибке. Т.к. расчитан больше на работу в случаях когда Апач проксирует запросы на свн сервер.

P.S. Данные действия справедливы для версии апач:

Server version: Apache/2.2.22 (Ubuntu)
Server built:   Jul 12 2013 13:37:10
Server's Module Magic Number: 20051115:30
Server loaded:  APR 1.4.6, APR-Util 1.3.12
Compiled using: APR 1.4.6, APR-Util 1.3.12
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"
*nixIT worldПолезностиapachehttpsmod_davredminesslsvnsvn+https

Телефоны как танки (:

OpenBSD и сборка пакетов без поддержки X-сервера