nginx: как получить реальный ip клиента? - PullRequest
1 голос
/ 08 мая 2020

У меня простое приложение express. что составляет Dockerized. Это Репозиторий .

Я использовал nginx как обратный прокси. когда я посещаю http://45.33.97.232:3000, он дает мне фактический IP . Но когда я захожу в http://45.33.97.232/, он дает мне тот же сервер IP . Но мне здесь нужен актуальный Client IP. И я использую IP-адрес сервера в файле конфигурации nginx. но у меня есть ограничение, я не могу записать IP-адрес сервера в nginx файл конфигурации.

Это мой nginx файл конфигурации,

server {
    listen 80 default_server;
    server_name 45.33.97.232;
location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://45.33.97.232:3000; #port where you are serving your express app.
  }
}

1 Ответ

0 голосов
/ 08 мая 2020

В nginx, если вы хотите передать IP-адрес удаленного пользователя на ваш внутренний веб-сервер, вам необходимо установить заголовок X-Forwarded-For для этого удаленного IP-адреса, например:

proxy_set_header X-Forwarded-For $remote_addr;

, и если вы не хотите использовать IP-адрес сервера, вы можете использовать домен в своем конфигурационном файле Nginx.

...