¿Cómo se puede detectar la descarga de SSL en el servidor detrás de un equilibrador de carga?

¿Cómo se puede detectar la descarga de SSL en el servidor detrás de un equilibrador de carga?

En nuestro entorno de producción, el SSL se descarga al balanceador de carga. Esto se hizo para reducir la carga de CPU en los servidores.

En su mayor parte, esto está perfectamente bien; sin embargo, ahora necesitamos que los servidores sepan si están entregando páginas a través de SSL o no.

¿Cuál es una buena forma de hacer esto, sino mantener la descarga SSL en su lugar?

Respuesta1

Podrías agregar un encabezado enviado al servidor backend que contenga el esquema.

Por ejemplo, al usar NGINX, enviaría un encabezado al servidor proxy backend con el$esquemavariable,

proxy_set_header Scheme $scheme;

Luego, en su aplicación backend podría obtener el encabezado;

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

¿Qué balanceador de carga estás usando? Estoy seguro de que habrá una manera de hacer algo similar en la mayoría del software, pero resulta que conozco mejor NGINX.

información relacionada