Je veux savoir l’adresse IP des mes clients quand ils utilisent Elastic Load Balancing (ELB). Comment configurer mon serveur Apache que s'exécute dans une instance 16.04 Ubuntu pour connecter mes adresses IP publiques derrière un équilibreur de charge ?

Vous pouvez configurer votre serveur web Apache2 avec ces instructions.

1. Installez Apache2 ou un instance Ubuntu 16.04.

sudo apt-get install apache2 -y

2. Installez mod_remoteip dans l’instance Ubuntu.

sudo a2enmod remoteip

3. Activez la configuration en re-démarrer Apache2.

sudo service apache2 restart

4. Modifiez la configuration Apache localisé dans /etc/apache2/apache2.conf pour Ubuntu comme suit:

sudo vim /etc/apache2/apache2.conf

        Ajoutez cet ligne au fichier de configuration.

RemoteIPHeader X-Forwarded-For

        Trouvez la section correspondant que commence avec LogFormat. Changez cette ligne:

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

        À ceci: (Replace %h with %a in the configuration file)

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

5. Pour appliquer les changements, sauvegardez le fichier de configuration et alors re-démarrez Apache2 dans votre instance Ubuntu.

sudo systemctl restart apache2.service

6. Vérifiez que l’IP du client se connecte en utilisant cet commande dans votre instance Ubuntu et faites une requête dès un autre instance:

tail -f /var/log/apache2/access.log

        Demandez pour un autre machine/instance du client:

curl -vo /dev/null http://<elb_dns_name>

7.Vérifiez que l’IP Publique du client ou l’IP Elastic se trouve dans le fichier access.log.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 07/12/2016

Date de mise à jour : 25/04/2018