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

2

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 correto, no entanto, agora precisamos que os servidores estejam cientes de que eles estão atendendo páginas por SSL ou não.

O que é uma boa maneira de fazer isso, mas manter o descarregamento de SSL no lugar?

    
por Rob White 24.11.2011 / 10:04

1 resposta

3

Você pode adicionar um cabeçalho enviado ao servidor de back-end que contém o esquema

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

proxy_set_header Scheme $scheme;

Em seguida, no seu aplicativo de back-end, você pode 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 que haverá uma maneira de fazer algo semelhante na maioria dos softwares, eu sei que sei melhor o NGINX

    
por 24.11.2011 / 10:16