Apache > ProxyPassInterpolate env ?
Bonjour, Pour donner accès à nos filiales à une ressource sur notre domaine interne, dans l'immédiat je dois passer via un RP basé sur Apache+mod_proxy. Je cherche à faire une translation "dynamique" de http://*.domain.tld/* vers http://*.domain.lan/* En creusant, je suis tombé sur ProxyPassInterpolateEnv ( https://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassinterpolateenv ) Du coup, j'en arrive à la conf suivant : <Virtualhost *> ServerName domain.tld ServerAlias *.domain.tld ProxyRequests Off RewiriteEngine On RewriteCond %{REMOTE_HOST] (.*).domain.tld RewriteRule ^/(.*) http://[E=myhost:%1].domain.lan/$1 [P] ProxyPass / http://${myhost}.domain.lan/ interpolate ProxyPassReverse / http://${myhost}.domain.lan/ interpolate </VirtualHost> Et pour domain.lan : <Virtualhost *> ServerName domain.lan ServerAlias *.domain.lan VirtualDocumentRoot /var/www/domain.lan/%1 DirectoryIndex index.html <Directory /var/www/domain.lan/> Order Allow, Deny Allow from all </Directory> </VirtualHost> En l'état, il semble que ${myhost} ne soit pas résolu et donc j'obtiens comme erreur : DNS Lookupfailure for : .domain.lan Est-ce que qqn ici l'a déjà utilisé et voit où ça coince ? Les quelques exemples trouvés sur le net ne m'ont pas parlé pour le moment. Merci d'avance, Nicolas -- Nicolas Steinmetz http://www.steinmetz.fr - http://nicolas.steinmetz.fr/
Je pense que ce que tu veux faire correspond assez bien à l'usage de ce modulte httpd : http://git.meleeweb.net/cgit.cgi/mod_virtualvalue.git/ qui s'emploie de cette façon : http://git.meleeweb.net/cgit.cgi/mod_virtualvalue.git/tree/test/vhost.conf 2012/12/19 Nicolas Steinmetz <nsteinmetz@gmail.com>
Bonjour,
Pour donner accès à nos filiales à une ressource sur notre domaine interne, dans l'immédiat je dois passer via un RP basé sur Apache+mod_proxy.
Je cherche à faire une translation "dynamique" de http://*.domain.tld/* vers http://*.domain.lan/*
En creusant, je suis tombé sur ProxyPassInterpolateEnv ( https://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassinterpolateenv )
Du coup, j'en arrive à la conf suivant :
<Virtualhost *> ServerName domain.tld ServerAlias *.domain.tld
ProxyRequests Off
RewiriteEngine On RewriteCond %{REMOTE_HOST] (.*).domain.tld RewriteRule ^/(.*) http://[E=myhost:%1].domain.lan/$1 [P]
ProxyPass / http://${myhost}.domain.lan/ interpolate ProxyPassReverse / http://${myhost}.domain.lan/ interpolate </VirtualHost>
Et pour domain.lan :
<Virtualhost *> ServerName domain.lan ServerAlias *.domain.lan
VirtualDocumentRoot /var/www/domain.lan/%1 DirectoryIndex index.html
<Directory /var/www/domain.lan/> Order Allow, Deny Allow from all </Directory> </VirtualHost>
En l'état, il semble que ${myhost} ne soit pas résolu et donc j'obtiens comme erreur : DNS Lookupfailure for : .domain.lan
Est-ce que qqn ici l'a déjà utilisé et voit où ça coince ? Les quelques exemples trouvés sur le net ne m'ont pas parlé pour le moment.
Merci d'avance, Nicolas -- Nicolas Steinmetz http://www.steinmetz.fr - http://nicolas.steinmetz.fr/
_______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/
-- Steven Le Roux Jabber-ID : Steven@jabber.fr 0x39494CCB <steven@le-roux.info> 2FF7 226B 552E 4709 03F0 6281 72D7 A010 3949 4CCB
Le 19 décembre 2012 22:46, Steven Le Roux <steven@le-roux.info> a écrit :
Je pense que ce que tu veux faire correspond assez bien à l'usage de ce modulte httpd :
http://git.meleeweb.net/cgit.cgi/mod_virtualvalue.git/
qui s'emploie de cette façon : http://git.meleeweb.net/cgit.cgi/mod_virtualvalue.git/tree/test/vhost.conf
Sympa en effet, sauf que ça va pas être possible de faire ajouter un module tiers sur nos RPs :( Par contre, comme la conf utilise "SetEnv", je vais voir si je peux jouer avec ça... Merci, Nicolas -- Nicolas Steinmetz http://www.steinmetz.fr - http://nicolas.steinmetz.fr/
Le 19/12/2012 18:03, Nicolas Steinmetz a écrit :
Bonjour,
Pour donner accès à nos filiales à une ressource sur notre domaine interne, dans l'immédiat je dois passer via un RP basé sur Apache+mod_proxy.
Je cherche à faire une translation "dynamique" de http://*.domain.tld/* vers http://*.domain.lan/*
En creusant, je suis tombé sur ProxyPassInterpolateEnv (https://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassinterpolateenv)
Du coup, j'en arrive à la conf suivant :
<Virtualhost *> ServerName domain.tld ServerAlias *.domain.tld
ProxyRequests Off RewiriteEngine On RewriteCond %{REMOTE_HOST] (.*).domain.tld RewriteRule ^/(.*) http://[E=myhost:%1].domain.lan/$1 [P]
ProxyPass / http://${myhost}.domain.lan/ interpolate ProxyPassReverse / http://${myhost}.domain.lan/ interpolate </VirtualHost>
Et pour domain.lan :
<Virtualhost *> ServerName domain.lan ServerAlias *.domain.lan
VirtualDocumentRoot /var/www/domain.lan/%1 DirectoryIndex index.html
<Directory /var/www/domain.lan/> Order Allow, Deny Allow from all </Directory> </VirtualHost>
En l'état, il semble que ${myhost} ne soit pas résolu et donc j'obtiens comme erreur : DNS Lookupfailure for : .domain.lan
Est-ce que qqn ici l'a déjà utilisé et voit où ça coince ? Les quelques exemples trouvés sur le net ne m'ont pas parlé pour le moment.
Bonjour, Pour ma part, je n'utilise que basiquement mod_proxy, mais une config de ce type devrait fonctionner : <VirtualHost IPduProxy:80> ServerName webmail.domaine.com ProxyRequests Off ProxyVia Off ProxyPass / http://webmail.domaine.local ProxyPassReverse / http://webmail.domaine.local/ </VirtualHost> Par contre, aucune sécurité n'est présente sur le proxy avec ce type de configuration. Peut-être faudrait-il se pencher vers un serveur qui ne fait que proxy sécurisé, tel que Vulture (http://vulture.open-source.fr). Concernant la translation, le domaine en .lan n'étant pas visible sur Internet, cela ne peut-pas être affiché dans le navigateur des filiales. C'est le proxy qui justement va faire la translation entre le domaine externe et local. -- Séb
participants (3)
-
Nicolas Steinmetz -
Steven Le Roux -
Séb