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