2009-07-10 15 views
7

J'ai 2 serveurs. Un proxy inverse sur le web et un sur un lien privé au service de WebDAV.WebDAV derrière un proxy inverse

Les serveurs de stand sont apache httpd v2.

Sur le proxy j'ai:

 
    ProxyRequests Off 

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

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

Sur le serveur dav je:

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

Le proxy inverse est accessible via https et le serveur privé est accessible via http. Et là se trouve le problème!

Les commandes en lecture seule fonctionnent correctement. Mais quand je veux déplacer quelque chose, je reçois 502 Bad gateway. La raison en est que le proxy inverse ne réécrit pas l'URL dans la requête DAV étendue.

L'URL source se trouve dans l'en-tête et est correctement transformée en http://share.local/file1. L'URL de destination est à l'intérieur quelque fragment xml Je ne comprends pas et reste https://example.com/file1 :(

est-il un moyen standard de laisser la apache transformer correctement la demande?

Merci pour votre effort.

+0

le débordement de pile a fait dire que je peux seulement poster un url :(ainsi j'ai ajouté des espaces Dans mes dossiers de config originaux les urls sont corrects bien sûr –

Répondre

9

Hmm , a trouvé la réponse est toujours la même :)

j'ajouté.

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

RequestHeader edit Destination ^https http early 

et ça a marché. Je ne sais pas si cela a des inconvénients. Je verrai.

+0

Ça sonne bien peut-être que cela devrait être la configuration par défaut alors. –

2

L'URL de destination ne doit pas être en XML mais dans l'en-tête "Destination", comme vous l'avez déjà remarqué. Peut-être que vous regardiez la réponse d'erreur ...

En général, ce problème disparaitrait lorsque les clients et les serveurs implémenteraient le niveau 3 de WebDAV (tel que défini dans RFC4918), ce qui permet à l'en-tête Destination d'être juste un chemin relatif.