как получить ip-адрес клиента через балансировщик - PullRequest
0 голосов
/ 30 августа 2018

есть такая ситуация: у меня есть сервер my.qwe (192.168.0.1), который обращается к балансировщику 192.168.0.2, который выбрасывает клиента на 192.168.0.3 или 192.168.0.4. Я делаю запрос от машины 192.168.0.5. Вопрос: как узнать ip адрес моей машины. Примечание: я использовал

HttpContext.Current.Request.ServerVariables["HTTP_X_COMING_FROM"]
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED"]
HttpContext.Current.Request.ServerVariables["HTTP_VIA"]
HttpContext.Current.Request.ServerVariables["HTTP_COMING_FROM"]
HttpContext.Current.Request.ServerVariables["HTTP_FORWARDED_FOR"]
HttpContext.Current.Request.ServerVariables["HTTP_FORWARDED"]
HttpContext.Current.Request.ServerVariables["HTTP_FROM"]
HttpContext.Current.Request.ServerVariables["HTTP_PROXY_CONNECTION"]
HttpContext.Current.Request.ServerVariables["CLIENT_IP"]
HttpContext.Current.Request.ServerVariables["REMOTE_HOST"]
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
HttpContext.Current.Request.ServerVariables["FORWARDED"]

выдает либо пустую строку, либо IP-адрес балансировщика 192.168.0.2, что мне делать ???

1 Ответ

0 голосов
/ 30 августа 2018

Вы можете использовать либо:

Request.UserHostAddress

Или:

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]

Оба должны работать. Вы можете найти больше информации об этом здесь:

В чем разница между Request.UserHostAddress и Request.ServerVariables ["REMOTE_ADDR"]. ToString ()

...