Исправлено!
SOL6912: настройка профиля HTTP для перезаписи URL, чтобы при перенаправлениях с сервера HTTP указывался протокол HTTPS
Обновлено: 07.08.07, 00:00
Виртуальный сервер ClientSSL обычно настроен на прием HTTPS-соединений от клиента, расшифровку сеанса SSL и отправку незашифрованного HTTP-запроса на веб-сервер.
Если запрошенный URI не включает в себя завершающую косую черту (прямую косую черту, такую как /, в конце URI), некоторые веб-серверы генерируют любезное перенаправление. Без завершающей косой черты веб-сервер сначала будет обрабатывать ресурс, указанный в URI, как файл. Если файл не может быть найден, веб-сервер может выполнить поиск каталога с тем же именем и, если он найден, отправить ответ HTTP 302 о перенаправлении обратно клиенту с завершающей косой чертой. Перенаправление будет возвращено клиенту в режиме HTTP, а не HTTPS, что приведет к сбою сеанса SSL.
Ниже приведен пример того, как ответ перенаправления HTTP 302 вызывает сбой сеанса SSL:
· Чтобы запросить сеанс SSL, пользователь вводит https://www.f5.com/stuff без завершающего слеша.
· Браузер клиента отправляет запрос SSL на виртуальный сервер ClientSSL, который находится в системе BIG-IP LTM.
· Затем система BIG-IP LTM расшифровывает запрос и отправляет команду GET / stuff на веб-сервер.
· Поскольку файл / stuff не существует на веб-сервере, но существует каталог / stuff / virtual, веб-сервер отправляет ответ HTTP 302 о перенаправлении для каталога, но добавляет косую черту к ресурсу. Когда веб-сервер отправляет ответ перенаправления HTTP 302, он указывает HTTP (не HTTPS).
· Когда клиент получает ответ перенаправления HTTP 302, он отправляет новый запрос на виртуальный сервер BIG-IP LTM, в котором указывается HTTP (не HTTPS). В результате не удается установить соединение SSL.
Настройка профиля HTTP для перезаписи URL
В BIG-IP LTM версии 9.x вы можете настроить профиль HTTP для перезаписи URL-адресов, чтобы при перенаправлениях с HTTP-сервера указывался протокол HTTPS. Для этого выполните следующую процедуру:
Войдите в утилиту конфигурации.
Нажмите Локальный трафик.
Нажмите Профили.
Нажмите кнопку Создать.
Введите имя для профиля.
Выберите http в раскрывающемся меню Родительский профиль.
В разделе «Настройки» установите «Перезаписать перезапись» на «Все», «Соответствие» или «Узлы» в зависимости от конфигурации
Например:
o Выберите Все, чтобы перезаписать любые перенаправления HTTP 301, 302, 303, 305 или 307 на HTTPS
o Выберите Сопоставление, чтобы перезаписать перенаправления, когда компоненты URI пути и запроса в запросе и перенаправлении идентичны (за исключением косой черты)
o Выберите «Узел» для перезаписи перенаправлений, когда URI перенаправления содержит IP-адрес узла вместо имени хоста, и вы хотите, чтобы система изменила его на адрес виртуального сервера
- Нажмите Готово.
Теперь необходимо связать новый профиль HTTP с виртуальным сервером ClientSSL.