Мой 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.

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