Aller au contenu

Featured Replies

Posté(e)

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 !

Posté(e)

Bonjour,

HAProxy doit utiliser le principe de reverse proxy, et a ma connaissance il n'y a pas encore de solution.

cordialement

Posté(e)

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

Posté(e)

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

Posté(e)
  • Auteur

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;
}
Posté(e)

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.

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.