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

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

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

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

Как это можно сделать, сохранив при этом SSL-разгрузку?

решение1

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

Например, используя 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

Связанный контент