Получить ip-адрес клиента в докере в лазурном контейнере

Есть ли кто-нибудь, кто может помочь мне получить IP-адрес клиента пользователя из контейнера докеров, который работает в экземпляре контейнера Azure?

Мой код получает только локальный IP-адрес, я думаю, это обратный прокси. Итак, ip - 10.240.255.106; Это заголовки. У меня также есть IP-адрес хоста (IP-адрес публичного контейнера), но не более того. Заголовки

{"Cache-Control":["max-age=0"],"Connection":["keep-alive"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8"],"Accept-Encoding":["gzip, deflate"],"Accept-Language":["en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7"],"Host":["23.99.249.54"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"],"Upgrade-Insecure-Requests":["1"],"DNT":["1"]}

Есть ли способ получить реальный IP клиента?

Я действительно не знаю, что вы имеете в виду под клиентским IP?

Charles Xu 26.10.2018 10:44

Извините. Это базовый веб-API asp.net. Мне нужно получить IP пользователя

grinay 26.10.2018 11:58
5
2
496
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Чтобы получить IP-адрес клиента в ядре asp.net внутри действия контроллера:

var ip = Request.HttpContext.Connection.RemoteIpAddress;

да. Это верно. Но, к сожалению, внутри лазурного контейнера (докера) вы получите ip контейнера.

grinay 26.10.2018 12:40

Можете ли вы передать параметр --network host при запуске контейнера, чтобы он работал в сети хоста, а не в NAT?

Aman B 26.10.2018 12:53

К сожалению, нет, они не позволяют указать сетевые настройки. Или я не знаю, как это сделать.

grinay 26.10.2018 14:06
Ответ принят как подходящий

Нет, ACI не сохраняет IP-адрес клиента. Вы можете создать запрос функции голосом пользователя. https://feedback.azure.com/forums/602224-azure-container-instances?filter=top&page=1

Другие вопросы по теме