psuken Posté(e) le 12 décembre 2012 Posté(e) le 12 décembre 2012 Bonjour, J'ai installé HAProxy car il répond à un besoin que j'avais depuis longtemps comme beaucoup de personnes sur ce forum. Au passage un énorme MERCI à Diaoul pour son boulot sur les packages. J'ai développé un site web mobile pour suivre les horaires de la nourrice de mon fils. Dans les informations collectées par l'appli, il y a l'IP de la personne qui soumet un enregistrement ($_SERVER['REMOTE_ADDR']). Problème, depuis l'installation d'HAProxy, l'IP enregistrée est 127.0.0.1 (localhost). Ça me parait normal puisque c'est HAProxy qui fait le requête. Ma question est donc : comment configurer HAProxy pour qu'il fournisse l'IP de la personne connectée et non le localhost ? J'ai d'autres comportements étranges avec HAProxy (authentification avec htaccess alors que je n'en ai pas mis sur cette appli) mais je verrais ça après Merci pour votre aide !
devildant Posté(e) le 12 décembre 2012 Posté(e) le 12 décembre 2012 Bonjour, HAProxy doit utiliser le principe de reverse proxy, et a ma connaissance il n'y a pas encore de solution. cordialement
Nounours44 Posté(e) le 12 décembre 2012 Posté(e) le 12 décembre 2012 bonjour, deux choses à faire : côté conf haproxy : dans le frontend que tu utilises, ajoute les options "option http-server-close,option forwardfor" côté php : regarde dans $_SERVER["HTTP_X_FORWARDED_FOR"] voilà !
devildant Posté(e) le 12 décembre 2012 Posté(e) le 12 décembre 2012 bonjour, deux choses à faire : côté conf haproxy : dans le frontend que tu utilises, ajoute les options "option http-server-close,option forwardfor" côté php : regarde dans $_SERVER["HTTP_X_FORWARDED_FOR"] voilà ! c'est bon a savoir ^^
psuken Posté(e) le 12 décembre 2012 Auteur Posté(e) le 12 décembre 2012 Tout simplement parfait ! Merci beaucoup ! Le frontend était déjà configuré correctement. il fallait simplement aller chercher la bonne variable. function get_ip() { if($_SERVER['REMOTE_ADDR'] == "127.0.0.1") { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; }
Patrick21 Posté(e) le 12 décembre 2012 Posté(e) le 12 décembre 2012 Le problème est maintenant résolu. N'hésitez pas à ouvrir un nouveau message en cas de problème. Ceci est une réponse automatique.
Messages recommandés