Dans mon VPS, j'héberge plusieurs sites web, chacun vivant dans son propre conteneur Linux. Par exemple
Site n° 1 -> 10.0.3.111
Site n°2 -> 10.0.3.112
Site n°3 -> 10.0.3.113
Pour savoir où rediriger chaque demande, j'ai également un proxy inverse nginx dans un autre conteneur Linux en 10.0.3.101
Le problème que je rencontre est que dans l'un de mes sites Web, qui utilise Laravel, j'essaie d'obtenir l'IP du client, comme ceci :
<p>IP Address: {{ Request::getClientIp() }}</p>
Le problème est que je reçois tout le temps 10.0.3.101
au lieu de l'adresse IP du client.
Je suppose que Laravel récupère l'adresse IP du dernier hôte d'où provient la demande, et non celle de l'hôte initial qui a lancé la demande.
Y a-t-il un moyen d'obtenir cette IP sans modifier cette structure ?
Configurations
C'est mon fichier d'hôte nginx :
server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://10.0.3.115;
}
}