В моем VPS я размещаю несколько веб-сайтов. все живущие в его собственном Контейнере Linux. Например,
Сайт № 1-> 10.0.3.111
Сайт № 2-> 10.0.3.112
Сайт № 3-> 10.0.3.113
Для знания, где перенаправить каждый запрос у меня также есть обратный прокси nginx в другом Контейнере Linux в 10.0.3.101
Проблема, которую я имею, состоит в том, что в одном из моих веб-сайтов, который выполняет Laravel, я пытаюсь получить IP клиента, как это:
<p>IP Address: {{ Request::getClientIp() }}</p>
Проблема состоит в том, что я добираюсь все время 10.0.3.101
, вместо IP клиента.
Я предполагаю, что Laravel получает IP последнего хоста, куда запрос прибыл мысль, не начальная, которая запустила запрос.
Существует ли способ, которым я мог получить тот IP, не изменяя эту структуру?
Конфигурации
Это - мой nginx hostfile:
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;
}
}
Вам нужно установить доверенный прокси . В этом случае getClientIp()
будет использовать X-Forwarder-For
заголовок для получения IP-адреса клиента.