У меня есть несколько веб-сайтов за устройством Barracuda, на котором настроен сертификат SSL. Он перенаправляет запросы в IIS как HTTP, без какой-либо информации о том, был ли исходный запрос от клиента HTTP или HTTPS.
Есть ли способ настроить barracuda для включения настраиваемого заголовка HTTP при преобразовании из HTTPS в HTTP? Или какой-то другой механизм, который я мог бы использовать, чтобы определить по коду веб-сайта, был ли исходный запрос HTTPS?
Как вы можете обнаружить разгрузку SSL на сервере за балансировщиком нагрузки? обсуждает, как сделать то же самое для других программ, но я не могу найти способ сделать то же самое с barracuda.
Типичный способ сделать это - настроить обратный прокси-сервер / балансировщик нагрузки на HTTP-заголовок, который указывает исходный протокол, который использовался клиентским соединением. Этот заголовок известен как X-Forwarded-Proto
.
X-Forwarded-Proto: https
Инструкции по выполнению этого с помощью балансировщика нагрузки Barracuda можно найти в своей документации.
Помимо того, что балансировщик нагрузки устанавливает этот заголовок, ваше приложение также должно учитывать заголовок и делать вид, что соединение было HTTPS, когда оно установлено. Многие распространенные приложения уже распознают X-Forwarded-Proto
и действовать соответствующим образом; уточните у поставщика веб-приложения или его разработчиков.