Différences entre versions de « Comment obtenir l'ip des visiteurs avec un loadbalancer »

De Ikoula Wiki
Jump to navigation Jump to search
(Page créée avec « <!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --> ==Introduction== Comment obtenir l'IP des v... »)
 
Ligne 2 : Ligne 2 :
  
 
==Introduction==
 
==Introduction==
Comment obtenir l'IP des visiteurs avec un loadbalancer avec la solution cloud d'Ikoula ?<br />
+
Cet article vous explique comment obtenir l'IP des visiteurs de votre site web, lorsque ce dernier est derrière un ''loadbalancer'' avec la solution cloud d'ikoula.<br />
 +
Cette démarche s'applique aussi bien aux instances déployées dans le {{cloud public}} que le {{cloud privé}}.
  
  
 
==Déroulé==
 
==Déroulé==
Lorsque vous utilisez un loadbalancer, vous verrez apparaitre dans les logs de votre serveur l'adresse IP du loadbalancer.<br />
+
Lorsque vous utilisez un loadbalancer au sein du cloud ikoula, vous devez savoir que ce dernier fonctionne en ''NAT routing''. Ce qui signifie que dans les logs du service web final, l'IP source des visiteurs qui est affichée dans les logs correspond à l'adresse IP du loadbalancer.<br />
  
  
Afin d'obtenir l'adresse IP du visiteur vous devez utiliser le champ "X-Forwarded-for".
+
Afin d'obtenir l'adresse IP source réelle des visiteurs vous devez utiliser la méthode '''X-Forwarded-for''' dans votre configuration.
Vous devez donc modifier le format des logs d'apache : httpd.conf ou apache2.conf en fonction de la version de votre moteur web.<br />
+
Cette méthode est implémentée par le module [http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers mod_proxy] dans la version 2.2 d'apache.<br />
 +
Assurez vous que ce module soit chargée avant de continuer.<br /><br />
 +
Cette directive est à utiliser au niveau de la configuration du format de logs. C'est-à-dire au niveau de la configuration serveur ou du '''VirtualHost'''. Selon votre besoin et votre configuration, vous devrez modifier l'information dans le fichier httpd.conf, apache2.conf ou le fichier contenant la configuration de votre vhost.<br />
  
  
Remplacer alors : <br />
+
Par défaut, apache2 utilise la configuration suivante : <br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined <br />
+
<syntaxhighlight lang="apache">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined </syntaxhighlight>
  
  
Par : <br />
+
Remplacez là par : <br />
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
+
<syntaxhighlight lang="apache">LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined</syntaxhighlight>
  
  
Une fois fait, vous obtiendrez l'adresse IP de vos visiteurs et non l'IP du loadbalancer.<br />
+
Une fois fait, vos logs afficheront l'adresse IP source réelle de vos visiteurs et non plus celle du loadbalancer.<br />
  
  
 
==Conclusion==
 
==Conclusion==
Afin d'obtenir l'adresse IP de vos visiteurs avec un load-balancer, vous devez utiliser l'attribut "X-Forwarded-for".
+
Dans le cas d'une plateforme web derrière un ''loadbalancer'' en ''NAT routing'', il est nécessaire d'utiliser l'attribut '''X-Forwarded-for''' afin d'obtenir l'adresse IP source réelle de vos visiteurs dans vos logs apache. Cette configuration peut s'appliquer au niveau global ou par '''VirtualHost'''.
  
 
<!-- Fin de l'article -->
 
<!-- Fin de l'article -->
Ligne 31 : Ligne 34 :
 
Cet article vous a semblé utile ? <vote />
 
Cet article vous a semblé utile ? <vote />
 
<!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] -->
 
<!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] -->
 
+
[[Category:cloudstack]]
 +
[[Category:cloud public]]
 +
[[Category:cloud privé]]
 +
[[Category:apache 2.2]]
  
 
<!-- Gestion SEO. Indiquez les informations manquantes -->
 
<!-- Gestion SEO. Indiquez les informations manquantes -->
  

Version du 30 juin 2015 à 11:02


Introduction

Cet article vous explique comment obtenir l'IP des visiteurs de votre site web, lorsque ce dernier est derrière un loadbalancer avec la solution cloud d'ikoula.
Cette démarche s'applique aussi bien aux instances déployées dans le cloud public que le cloud privé.


Déroulé

Lorsque vous utilisez un loadbalancer au sein du cloud ikoula, vous devez savoir que ce dernier fonctionne en NAT routing. Ce qui signifie que dans les logs du service web final, l'IP source des visiteurs qui est affichée dans les logs correspond à l'adresse IP du loadbalancer.


Afin d'obtenir l'adresse IP source réelle des visiteurs vous devez utiliser la méthode X-Forwarded-for dans votre configuration. Cette méthode est implémentée par le module mod_proxy dans la version 2.2 d'apache.
Assurez vous que ce module soit chargée avant de continuer.

Cette directive est à utiliser au niveau de la configuration du format de logs. C'est-à-dire au niveau de la configuration serveur ou du VirtualHost. Selon votre besoin et votre configuration, vous devrez modifier l'information dans le fichier httpd.conf, apache2.conf ou le fichier contenant la configuration de votre vhost.


Par défaut, apache2 utilise la configuration suivante :

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined


Remplacez là par :

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined


Une fois fait, vos logs afficheront l'adresse IP source réelle de vos visiteurs et non plus celle du loadbalancer.


Conclusion

Dans le cas d'une plateforme web derrière un loadbalancer en NAT routing, il est nécessaire d'utiliser l'attribut X-Forwarded-for afin d'obtenir l'adresse IP source réelle de vos visiteurs dans vos logs apache. Cette configuration peut s'appliquer au niveau global ou par VirtualHost.



Cet article vous a semblé utile ?

0