Мой Loadbalancer содержит сертификат ssl, поэтому все запросы на мой сайт являются http. Как я могу справиться с ситуациями, когда мне нужно перенаправить?
У меня есть.Net C# WebApplication, который размещен на сервере и доступен за балансировщик нагрузки.
Чтобы снизить затраты, у нас есть один SSL-сертификат на балансировщик нагрузки F5, и когда он отправляет запрос нашему приложению, URL-адрес изменяется с https:// website.com/path на http:// website.com:8080/ дорожка.
Это нормально в большинстве случаев, однако мы начинаем включать сторонние плагины и инструменты, которые любят перенаправлять на основе определенных критериев. По умолчанию при перенаправлении пользователи будут пытаться использовать объект Request, чтобы помочь переписать новый URL-адрес. Поскольку наш сайт получает URL-адрес HTTP, в ответе пользователю предлагается перенаправить на http:// website.com:8080/newpath, а этот URL-адрес не существует.
Кто-нибудь сталкивался с этой проблемой и какие решения вы нашли?
Мы используем F5 Loadbalancer, размещенный и управляемый Rackspace. Также для UAT, хотя и не идеально, мы используем нагрузочный балансировщик ARR. Что бы мы ни делали на F5, мы должны быть в состоянии симулировать в ARR.
Моя последняя мысль заключалась в том, чтобы добавить фильтр к объекту HttpResponse, чтобы перед его отправкой я мог изменить любые упоминания о неверном URL-адресе. И в шапке и в теле.
1 ответ
Ваше устройство F5 должно иметь правило для перезаписи URL-адресов в ответ на HTTPS, включая перенаправления.
Я бы сказал вам, где это, но мой опыт ограничен Citrix Netscalers.