Como você pode detectar o descarregamento de SSL no servidor atrás de um balanceador de carga?

Como você pode detectar o descarregamento de SSL no servidor atrás de um balanceador de carga?

Em nosso ambiente de produção, o SSL é transferido para o balanceador de carga. Isso foi feito para reduzir a carga da CPU nos servidores.

Na maioria das vezes, isso é perfeitamente normal; no entanto, agora precisamos que os servidores saibam se estão servindo páginas por SSL ou não.

Qual é uma boa maneira de fazer isso, mas mantendo o descarregamento de SSL em vigor?

Responder1

Você pode adicionar um cabeçalho enviado ao servidor backend contendo o esquema

Por exemplo, usando NGINX eu enviaria um cabeçalho para o servidor proxy backend com o$ esquemavariável,

proxy_set_header Scheme $scheme;

Então, em seu aplicativo de back-end, você poderá obter o cabeçalho;

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

Qual balanceador de carga você está usando? Tenho certeza de que haverá uma maneira de fazer algo semelhante na maioria dos softwares, só que conheço melhor o NGINX

informação relacionada