haproxy 1.3.15.2 : en mode transparent pour garder ip visiteur

Le
Grégory Bulot
Bonjour,

Je souhaiterais que haproxy laisse en ip source l'ip du visiteur, et
non l'ip de la machine qui héberge haproxy

il semblerait que cela soit l'option 'transparent' qui soit la bonne
candidate mais cela semble ce limiter a x-forward. (1)

J'avoue avoir la flemme de modifier les configs des mes virtualhosts
apache pour changer le log, et je sais pas comment mes outils de stats
vont se comporter (phpmyvisites, piwik, xiti, .)


J'utilise la version de lenny d'haproxy : pas une version source
Je n'utilise pas la répartition de charge (je n'ais donc qu'une seul
instance server par backend
J'utilise les acls pour dispatcher sur 2 serveurs en fonction de
certains sous domaine

ma config ressemble à (1), mais je ne saisis pas les nuances subtiles
qu'il pourrait y avoir à mettre les options dans default, frontend (ou
sont mes acls) ou le backend.




(1) http://www.crium.univ-metz.fr/docs/system/drbd/haproxy.html

--
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal Hambourg
Le #20656641
Salut,

Grégory Bulot a écrit :

Je souhaiterais que haproxy laisse en ip source l'ip du visiteur, et
non l'ip de la machine qui héberge haproxy



A moins de faire des choses très sales au niveau de la pile TCP/IP, je
ne pense pas que ce soit possible.

il semblerait que cela soit l'option 'transparent' qui soit la bonne
candidate mais cela semble ce limiter a x-forward. (1)



Comme pour squid. Le proxy est transparent pour le client, pas pour le
serveur.

--
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
Antoine Benkemoun
Le #20656961
--000e0ce0d6a6564c1f0479819fce
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

C'est tout à fait possible en fait... Il faut ajouter un module spécifi que
qui te permet de faire la modification à la volée. De mémoire, il s'a git du
mod tproxy :

http://blog.loadbalancer.org/configure-haproxy-with-tproxy-kernel-for-full- transparent-proxy/

Bonne journée,

Antoine

2009/11/29 Pascal Hambourg
Salut,

Grégory Bulot a écrit :
>
> Je souhaiterais que haproxy laisse en ip source l'ip du visiteur, et
> non l'ip de la machine qui héberge haproxy

A moins de faire des choses très sales au niveau de la pile TCP/IP, je
ne pense pas que ce soit possible.

> il semblerait que cela soit l'option 'transparent' qui soit la bonne
> candidate mais cela semble ce limiter a x-forward. (1)

Comme pour squid. Le proxy est transparent pour le client, pas pour le
serveur.

--
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





--000e0ce0d6a6564c1f0479819fce
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

C'est tout à fait possible en fait... Il faut ajouter un module spé cifique qui te permet de faire la modification à la volée. De mémoire , il s'agit du mod tproxy :

Salut,<br>
<br>
Grégory Bulot a écrit :<br>
<div class="im">&gt;<br>
&gt; Je souhaiterais que haproxy laisse en ip source l&#39;ip du visiteur, et<br>
&gt; non l&#39;ip de la machine qui héberge haproxy<br>
<br>
</div>A moins de faire des choses très sales au niveau de la pile TCP/IP, je<br>
ne pense pas que ce soit possible.<br>
<div class="im"><br>
&gt; il semblerait que cela soit l&#39;option &#39;transparent&#39; qui soi t la bonne<br>
&gt; candidate mais cela semble ce limiter a x-forward. (1)<br>
<br>
serveur.<br>
<div><div></div><div class="h5"><br>
--<br>
Lisez la FAQ de la liste avant de poser une question :<br>
``spam&#39;&#39; dans vos champs &quot;From&quot; et &quot;Reply-To:&quot;< br>
<br>
Pour vous DESABONNER, envoyez un message avec comme objet &quot;unsubscribe &quot;<br>
vers En cas de soucis, contactez EN ANGLAIS <br>
</div></div></blockquote></div><br>

--000e0ce0d6a6564c1f0479819fce--

--
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
Pascal Hambourg
Le #20656971
Antoine Benkemoun a écrit :
C'est tout à fait possible en fait... Il faut ajouter un module spécifique
qui te permet de faire la modification à la volée. De mémoire, il s'agit du
mod tproxy :

http://blog.loadbalancer.org/configure-haproxy-with-tproxy-kernel-for-full-transparent-proxy/



C'est bien ce que je disais, à moins de faire des choses très sales au
niveau de la pile TCP/IP.

2009/11/29 Pascal Hambourg

Grégory Bulot a écrit :
Je souhaiterais que haproxy laisse en ip source l'ip du visiteur, et
non l'ip de la machine qui héberge haproxy



A moins de faire des choses très sales au niveau de la pile TCP/IP, je
ne pense pas que ce soit possible.





--
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
Gilles Mocellin
Le #20657561
--pWyiEgJYm5f9v55/
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Nov 29, 2009 at 11:23:37AM +0100, Grégory Bulot wrote:
Bonjour,

Je souhaiterais que haproxy laisse en ip source l'ip du visiteur, et
non l'ip de la machine qui héberge haproxy

il semblerait que cela soit l'option 'transparent' qui soit la bonne
candidate mais cela semble ce limiter a x-forward. (1)

J'avoue avoir la flemme de modifier les configs des mes virtualhosts
apache pour changer le log, et je sais pas comment mes outils de stats
vont se comporter (phpmyvisites, piwik, xiti, ....)



Ne serait-ce pas plus simple de faire des stats sur des logs produits
par haproxy ?

J'ai des reverses varnish, ils génèrent des logs compatibles avec les
outils de stats habituels.

[...]

--pWyiEgJYm5f9v55/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAksSgTUACgkQDltnDmLJYdDW1ACdFESl3A/FattAclyX11A2kN29
fnsAoMs6kAPQpfiLE8Q1jgarey0qhB9f
=UpwI
-----END PGP SIGNATURE-----

--pWyiEgJYm5f9v55/--

--
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
Grégory Bulot
Le #20657571
Pascal Hambourg 2009 13:40:31 +0100
Antoine Benkemoun a écrit :
> C'est tout à fait possible en fait... Il faut ajouter un module
> spécifique qui te permet de faire la modification à la volà ©e. De
> mémoire, il s'agit du mod tproxy :
>
> http://blog.loadbalancer.org/configure-haproxy-with-tproxy-kernel-for-f ull-transparent-proxy/

C'est bien ce que je disais, à moins de faire des choses très s ales au
niveau de la pile TCP/IP.



cela correspond au besoin apparent, mais haproxy est dans un vps openvz,
je n'utiliserais pas cette solution malgré la pertinence fortes aux
éléments que j'avais fournit !

--
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
Grégory Bulot
Le #20657551
Suite aux différentes réponses sur haproxy, je formule ma demande
différemment :

sois plusieurs domaines ayant des sous domaine

- toto.com : www.toto.com, blog.toto.com, (liste non finie)
- titi.com : www.titi.com, joomla.titi.com, boutique.titi.com (liste
non finie)

- J'ai une seule ip publique (adsl)
- J'ai un routeur (ipcop), avec squid en proxy actif
- dans mon lan j'ai 1 serveur (tank) apache en prod avec des
virtualhosts
- dans mon lan j'ai 1 serveur (dozer, en openvz) qui recevra une
partie des sites ci-dessus (dans un premier temps) aussi en virtualhost
apache (je sais pas encore si je bouge un domaine entier, ou seulement
du www, ou boutique ou ...

actuellement haproxy (qui est dans un vps de dozer) répond au besoin
apparent ci-dessus, a part l'ip du client qui est substituée par l'ip de
haproxy

existe-t-il une solution (clef-en-main-pour-les-gros-fainéants ou
proche).

Je souhaiterais mettre de côté le mod-proxy apache dans
les virtualhost concerné :
proxypass /suiteUrl/ http://192.168.1.205/
proxypassreverse /suiteUrl/ http://192.168.1.205/

.... parceque !

slowloris, mais pas que !

--
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
Daniel Huhardeaux
Le #20658071
Grégory Bulot a écrit :
Suite aux différentes réponses sur haproxy, je formule ma demande
différemment :



[...]

aptitude install pound

--
Daniel

--
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
Grégory Bulot
Le #20658901
Gilles Mocellin 15:12:05 +0100


Ne serait-ce pas plus simple de faire des stats sur des logs produits
par haproxy ?



non, pas dans mon cas


--
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
Grégory Bulot
Le #20658891
Daniel Huhardeaux 16:53:31 +0100
Grégory Bulot a écrit :
> Suite aux différentes réponses sur haproxy, je formule ma dem ande
> différemment :
>
[...]

aptitude install pound



A la lecture de http://packages.debian.org/lenny/pound c'est alléchant !
pourquoi ne pas me l'avoir avant que je pose la question :-DDDDD


en lisant http://www.apsis.ch/pound/ visiblement la demande est
sensible pour la gestion des sous domaines, car il y a un paragraphe
dédié, mais l'auteur précise que ce n'est pas le travail de pound, mais
que ce produit en est capable

--
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
Grégory Bulot
Le #20659311
> Daniel Huhardeaux 16:53:31 +0100



> aptitude install pound




nickel !
ça route sur les 2 serveurs correctement, plus redirection sur serveur
par défaut si pas match sur les deux premiers !


je regarderais pour mettre les logs ailleurs que dans syslog :
http://www.apsis.ch/pound/pound_list/archive/2006/2006-03/1141908006000#114 1908006000


pour info la config :

ListenHTTP
Address 0.0.0.0
Port 80

Service
HeadRequire "Host: .*www1.toto.com.*"

BackEnd
Address 192.168.1.147
Port 80
End
End

Service
HeadRequire "Host: .*www2.titi.com.*"
BackEnd
Address 192.168.1.202
Port 80
End
End

Service
# fall back ...
HeadRequire "Host: .*"
BackEnd
Address 192.168.1.147
Port 80
End
End
End

--
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
Publicité
Poster une réponse
Anonyme