Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Apache, mod_proxy et reponse 301

6 réponses
Avatar
Yves Rutschle
Bonjour tout le monde,

J'essaie placer plusieurs serveurs physiques derrière une
seule adresse IP, le but final étant d'avoir des serveurs
apache différents pour servir des domaines différents.

Je pensais pouvoir faire ça avec mod_proxy sur un apache "en
tête":


Internet <--------> Apache1 <----------> Apache2
+ mod_proxy |
|----> Apache3
...

Avec par exemple un virtualhose définit ainsi sur Apache1:

<VirtualHost *:80>
ServerName test.naryves.com

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.249/wiki
ProxyPassReverse / http://192.168.0.249/wiki
</IfModule>
</VirtualHost>

192.168.0.249 correspond évidement à l'adresse d'Apache2 sur
le réseau local.

De ce que je comprend de la doc de mod_proxy, une connexion
en provenance de l'Internet sur test.naryves.com devrait
arriver sur Apache1, qui lui se connecterait sur 192.168.249
avant de renvoyer cette réponse.

Or, ce n'est pas du tout ce qui semble ce passer: Apache1
renvoit simplement un code 301 "Moved permanently" en
donnant l'adresse finale:

<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://192.168.0.249/wiki/">here</a>.</p>

Ce qui n'est pas ce que je veux faire, et ne peux évidement
pas marcher ici.

J'ai donc 3 questions:

1- Ce que je veux faire peut-il être fait avec mod_proxy, ou
mod_proxy ne fait-il que rediriger le client? (auquel cas il
est mal nommé et la doc pas claire :) )

2- Si ce n'est pas ce qu'il doit faire, quelle piste dois-je
suivre pour convaincre mod_proxy de faire réellement proxy?

3- Si c'est ce qu'il doit faire, avez-vous des suggestions
quand un autre 'front-end' pour faire ce genre de chose?
(squid? mod_backhand?)

Désolé de la longueur et merci d'avance,
Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

6 réponses

Avatar
Le poulpe qui bloppe !
Le 18 mai 2008 15:11, Yves Rutschle a écr it :
Bonjour tout le monde,



Bonjour,

J'essaie placer plusieurs serveurs physiques derrière une
seule adresse IP, le but final étant d'avoir des serveurs
apache différents pour servir des domaines différents.

Je pensais pouvoir faire ça avec mod_proxy sur un apache "en
tête":


Oui, ca fonctionne.
Avec par exemple un virtualhose définit ainsi sur Apache1:

<VirtualHost *:80>
ServerName test.naryves.com

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.249/wiki
ProxyPassReverse / http://192.168.0.249/wiki
</IfModule>
</VirtualHost>



Mon virtualhost:
<VirtualHost *>
ServerName test.naryves.com
ServerAlias test.naryves.com
ProxyPass / http://192.168.51.70/
ProxyPassReverse / http://192.168.51.70
ProxyPreserveHost on
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</VirtualHost>

De ce que je comprend de la doc de mod_proxy, une connexion
en provenance de l'Internet sur test.naryves.com devrait
arriver sur Apache1, qui lui se connecterait sur 192.168.249
avant de renvoyer cette réponse.

Or, ce n'est pas du tout ce qui semble ce passer: Apache1
renvoit simplement un code 301 "Moved permanently" en
donnant l'adresse finale:


sauf que sous debian, il faut aussi penser a:
modifier le fichier /etc/apache2/mods-available/proxy.conf comme ca:
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from naryves.com
</Proxy>
ProxyVia On
</IfModule>
Car par defaut, les connexion proxy sont interdites.

avec bien sur au bon moment penser a:
a2enmod proxy
a2enmod proxy_http
a2ensite test.naryves.com
/etc/init.d/apache2 reload

Normalement ca doit suffire.

Ah si, sur le apache terminal, donc l'intene apache2 et apache 3 chez
toi, il doit aussi exister un virtualhost qui match le nom de domaine
test.naryves.com comme sur tout apache normal.

Voila

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
mouss
Yves Rutschle wrote:
Bonjour tout le monde,

J'essaie placer plusieurs serveurs physiques derrière une
seule adresse IP, le but final étant d'avoir des serveurs
apache différents pour servir des domaines différents.

Je pensais pouvoir faire ça avec mod_proxy sur un apache "en
tête":


Internet <--------> Apache1 <----------> Apache2
+ mod_proxy |
|----> Apache3
...

Avec par exemple un virtualhose définit ainsi sur Apache1:

<VirtualHost *:80>
ServerName test.naryves.com

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.249/wiki
ProxyPassReverse / http://192.168.0.249/wiki
</IfModule>
</VirtualHost>

192.168.0.249 correspond évidement à l'adresse d'Apache2 sur
le réseau local.

De ce que je comprend de la doc de mod_proxy, une connexion
en provenance de l'Internet sur test.naryves.com devrait
arriver sur Apache1, qui lui se connecterait sur 192.168.249
avant de renvoyer cette réponse.

Or, ce n'est pas du tout ce qui semble ce passer: Apache1
renvoit simplement un code 301 "Moved permanently" en
donnant l'adresse finale:

<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://192.168.0.249/wiki/">here</a>.</p>





Essaye avec

ProxyPass / http://192.168.0.249/wiki/
ProxyPassReverse / http://192.168.0.249/wiki/

(avec un '/' à la fin).



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
mouss
Le poulpe qui bloppe ! wrote:
[snip]
sauf que sous debian, il faut aussi penser a:
modifier le fichier /etc/apache2/mods-available/proxy.conf comme ca:
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from naryves.com
</Proxy>
ProxyVia On
</IfModule>
Car par defaut, les connexion proxy sont interdites.




ça c'est uniquement pour un proxy "direct". pour un proxy verlan
(reverse), y en a pas zoin-beu.
[snip]





--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Sun, May 18, 2008 at 05:15:04PM +0200, Le poulpe qui bloppe ! wrote:
ProxyPreserveHost on



Vi, je pense que c'est ça qui fait la différence...

sauf que sous debian, il faut aussi penser a:
modifier le fichier /etc/apache2/mods-available/proxy.conf comme ca:



Et ça aussi.

<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from naryves.com
</Proxy>
ProxyVia On
</IfModule>
Car par defaut, les connexion proxy sont interdites.



(pour mouss: même pour ce proxy verlan, il faut quand même
le Allow from chez moi, sinon ça marche pas... je ne
maitrise pas assez la chose pour commenter plus avant)

Normalement ca doit suffire.



En effet, merci M. Poulpe.

Ah si, sur le apache terminal, donc l'intene apache2 et apache 3 chez
toi, il doit aussi exister un virtualhost qui match le nom de domaine
test.naryves.com comme sur tout apache normal.



Pas nécessaire, si le apache2 ne gère qu'un domaine.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Le poulpe qui bloppe !
> (pour mouss: même pour ce proxy verlan, il faut quand même
le Allow from chez moi, sinon ça marche pas... je ne
maitrise pas assez la chose pour commenter plus avant)


Pareil, je n'ai pas du tout la connaissance du sujet pour argumenter
le pourquoi du comment, mais ca marche comme ca chez moi ;)

En effet, merci M. Poulpe.


De rien, merci à toi, c'est la premiere fois que j'arrive à aider !

Ah si, sur le apache terminal, donc l'intene apache2 et apache 3 chez
toi, il doit aussi exister un virtualhost qui match le nom de domaine
test.naryves.com comme sur tout apache normal.


Pas nécessaire, si le apache2 ne gère qu'un domaine.


Effectivement si il y a un seul domaine, ca marche 'out the box'.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Sun, May 18, 2008 at 05:15:04PM +0200, Le poulpe qui bloppe ! wrote:
sauf que sous debian, il faut aussi penser a:
modifier le fichier /etc/apache2/mods-available/proxy.conf comme ca:
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from naryves.com
</Proxy>
ProxyVia On
</IfModule>
Car par defaut, les connexion proxy sont interdites.



En fait, c'est mieux de mettre ces choses là dans le fichier
correspondant dans /etc/apache2/sites-available, car
/etc/apache2/mods-available/proxy.conf est écrasé lors du
passage à la version d'après, et on se retrouve avec le
proxy qui ne marche plus.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS