2009-07-10 12 views
7

Ich habe 2 Server. Ein Reverse-Proxy im Web und ein auf einem privaten Link, der WebDAV bereitstellt.WebDAV hinter einem Reverse-Proxy

Booth Server sind Apache httpd v2.

Auf dem Proxy ich habe:

 
    ProxyRequests Off 

    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    ProxyPass   /repo/ http : //share.local/repo/ 
    ProxyPassReverse /repo/ http : //share.local/repo/ 

Auf dem DAV-Server ich habe:

 
<Location /repo/> 
    DAV on 
    Order allow,deny 
    allow from all 
</Location> 

Der Reverse-Proxy über https zugegriffen wird und der private Server wird über http abgerufen. Und da liegt das Problem!

Schreibgeschützte Befehle funktionieren einwandfrei. Aber wenn ich etwas bewegen will, bekomme ich 502 Bad gateway. Der Grund dafür ist, dass der Reverse-Proxy die URLs in der erweiterten Dav-Anforderung nicht umschreibt.

Die Quell-URL befindet sich in der Kopfzeile und wird korrekt in http://share.local/file1 umgewandelt. Die Ziel-URL ist innerhalb einiger XML-Fragment verstehe ich nicht und bleibt https://example.com/file1 :(

Gibt es eine Standardmethode der Apache korrekt umwandeln, die Anforderung zu lassen?

Vielen Dank für Ihre Mühe.

+0

Stack-Überlauf hat gesagt, ich kann nur eine URL veröffentlichen :(also ich Leerzeichen hinzugefügt. In meinen ursprünglichen Konfigurationsdateien sind die URLs natürlich korrekt. –

Antwort

9

Hmm , die Antwort gefunden Immer das gleiche :)

ich hinzugefügt:.

 
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so 

RequestHeader edit Destination ^https http early 

und es funktionierte. Ich weiß nicht, ob das Nachteile hat. Ich werde sehen.

+0

Klingt gut. Vielleicht sollte das die Standardkonfiguration dann sein. –

2

Die Ziel-URL sollte nicht in XML sein, sondern in der Überschrift "Ziel", wie Sie bereits bemerkt haben. Vielleicht haben Sie sich die Fehlerantwort angeschaut ...

Im Allgemeinen würde dieses Problem verschwinden, wenn Clients und Server WebDAV Level 3 (wie in RFC4918 definiert) implementieren, wodurch der Ziel-Header nur ein relativer Pfad sein kann.