AWS ELB с заголовками WCF и X-forward - PullRequest
4 голосов
/ 20 сентября 2011

Моя конечная цель - увидеть внешние IP-адреса клиента в файлах журналов IIS для составления отчетов / устранения неполадок.

У нас есть приложение WCF, работающее на экземплярах EC2 за Elastic Load Balancer. У меня есть F5 ISAPI DLL, установленная в IIS. Балансировщик нагрузки настроен на использование переадресации HTTPS (443) на HTTPS (443). На ELB имеется действующий сертификат, а на IIS - самозаверяющий сертификат.

В этом случае, если я получу доступ к такой странице, как https://mysite/test.html,, журнал IIS будет содержать внешний IP-адрес. Но когда я получаю доступ к https://mysite/wcfapplication/test.aspx,, журнал IIS содержит внутренний IP-адрес ELB.

Amazon говорит, что это проблема с приложением. У команды возникают проблемы с определением того, что нужно изменить в конфигурации WCF. Кто-нибудь сталкивался с этим сценарием и нашел исправление / обходной путь?

1 Ответ

3 голосов
/ 29 сентября 2011

Причина этого заключается в том, что при работе с балансировщиком нагрузки он передает данные, а IP-адрес запроса становится адресом балансировщика нагрузки.Фактический IP-адрес пользователя записывается в серверной переменной «x-forwarded-for».

В IIS вам необходимо использовать сторонний ISAPI-фильтр для записи этого значения, когда оно найдено в запросе,что заставит все работать.

Есть несколько, этот созданный парнем из F5 - Или этот из команды Microsoft IIS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...