Задать вопрос
@summerwind
Web-программист

Как внутри docker-контейнера получить реальный ip пользователя?

Создаю docker-образ на основе "ubuntu:16.04". Поднимаю в нем nginx с простейшей конфигурацией:
server {
  listen 80;

  location / {
    return 200 'Remote addr = ${remote_addr}, X-Forwarded-For = ${proxy_add_x_forwarded_for}';
  }
}

Поднимаю контейнер:
docker run --name=mycontainer -p 80:80 -d myimage

При запросах к серверу, ответ такой:
"Remote addr = 172.17.0.1, X-Forwarded-For = 172.17.0.1"

где "172.17.0.1" - это адрес из внутренней сети docker, а не реальный ip клиента, сделавшего запрос.
Как можно получить реальный ip пользователя?
Можно, конечно, при запуске контейнера указать "--net=host", но это неудобно, потому что пропадает возможность привязки порта контейнера к произвольному порту хоста.
  • Вопрос задан
  • 1752 просмотра
Подписаться 2 Комментировать
Подписчики вопроса 2 К ответам на вопрос (2)