Назад | Перейти на главную страницу

Как вы можете обнаружить разгрузку SSL на сервере за балансировщиком нагрузки?

В нашей производственной среде SSL выгружается на балансировщик нагрузки. Это было сделано для снижения загрузки ЦП на серверах.

По большей части это нормально, однако теперь нам нужно, чтобы серверы знали, обслуживают ли они страницы через SSL или нет.

Что является хорошим способом сделать это, кроме сохранения разгрузки SSL на месте?

Вы можете добавить заголовок, отправленный на внутренний сервер, содержащий схему

Например, используя NGINX, я бы отправил заголовок на внутренний прокси-сервер с схема $ переменная,

proxy_set_header Scheme $scheme;

Затем в вашем бэкэнд-приложении вы можете получить заголовок;

if ( this.request.getheader('Scheme') is 'http' ) {
    this.response.send('HTTP!')
} otherwise ( this.request.getheader('Scheme') is 'https' ) {
    this.response.send('HTTPS!')
}

Какой балансировщик нагрузки вы используете? Я уверен, что в большинстве программ будет способ сделать что-то подобное, просто я знаю NGINX лучше всех