Мой Loadbalancer содержит ssl-сертификат, поэтому все запросы к моему сайту выполняются по протоколу http. Как я могу действовать в ситуациях, когда мне нужно перенаправить?

У меня есть веб-приложение .Net С#, которое размещено на сервере и доступно за балансировщиком нагрузки.

Чтобы снизить затраты, у нас есть один SSL-сертификат на балансировщике нагрузки F5, и когда он отправляет запрос в наше приложение, URL-адрес меняется с https://website.com/path на http://website.com:8080/. дорожка.

Это нормально в большинстве случаев, однако мы начинаем включать сторонние плагины и инструменты, которые любят перенаправлять на основе определенных критериев. По умолчанию при перенаправлении пользователи будут пытаться использовать объект запроса, чтобы переписать новый URL-адрес. Поскольку наш сайт получает URL-адрес HTTP, в ответе пользователю предлагается перенаправить на http://website.com:8080/newpath, а этот URL-адрес не существует.

Кто-нибудь сталкивался с этой проблемой и какие решения вы придумали?

Мы используем балансировщик нагрузки F5, размещенный и управляемый Rackspace. Также для UAT, хотя и не идеального, мы используем ARR Loadbalancer. Что бы мы ни делали на F5, мы должны уметь моделировать в ARR.

Моя последняя мысль заключалась в том, чтобы добавить фильтр к объекту HttpResponse, чтобы перед его отправкой я мог изменить любые упоминания о плохом URL-адресе. Как в заголовке, так и в теле.


person D.Mistry    schedule 11.10.2013    source источник
comment
ИМХО это не связано с программированием. я думаю, что это должно быть в ServerFault.   -  person Rafael    schedule 11.10.2013


Ответы (1)


Ваше устройство F5 должно иметь правило для перезаписи URL-адресов в ответе на HTTPS, включая перенаправления.

Я бы сказал вам, где это, но мой опыт ограничивается Citrix Netscalers.

person William    schedule 11.10.2013