Yo recomendaría la terminación de SSL en el equilibrador de carga (ya sea en su red, en un proveedor de CDN o lo que sea). Esto significa que el LB puede inspeccionar el tráfico y puede hacer un mejor trabajo de balanceo de carga. También significa que su equilibrador de carga es responsable de lidiar con clientes lentos, implementaciones SSL rotas y el descontento general de Internet. Es probable que su equilibrador de carga tenga mejores recursos para hacer esto que sus servidores back-end. También significa que los certificados SSL que el mundo ve están todos en el equilibrador de carga (lo que, con suerte, los hace más fáciles de administrar).
La alternativa aquí es simplemente equilibrar la carga de las conexiones TCP de los clientes a sus servidores back-end. Como el LB no puede inspeccionar lo que está sucediendo de esta manera, no puede distribuir la carga de manera uniforme entre los servidores de back-end, y los servidores de back-end tienen que lidiar con toda la flakiness de Internet. Solo usaría este método si no confías en tu equilibrador de carga, proveedor de CDN o lo que sea.
Si se vuelve a cifrar o no desde el equilibrador de carga a sus servidores back-end es una cuestión de elección personal y circunstancia. Si está tratando con tarjetas de crédito o transacciones financieras, es probable que esté regulado por el gobierno y, por lo tanto, tendrá que volver a cifrarlo. Es probable que también deba volver a cifrar si el tráfico entre el equilibrador de carga y los servidores de servicios de fondo viaja a través de redes que no son de confianza. Si solo está alojando el sitio web de su empresa, entonces podría evitar la sobrecarga adicional del recifrado, si realmente no le importan los aspectos de seguridad de la misma.
El nuevo cifrado no agrega tanta carga como podría pensar. Generalmente, el equilibrador de carga podrá mantener conexiones persistentes a los servidores, por lo que el costo de SSL será bastante bajo para ese 'salto' en la red.
Lo último en lo que pensar es en la aplicación en los servidores de servicios de fondo. Si todo el tráfico que llega allí es HTTP, entonces no puede tomar decisiones basadas en el protocolo que estaba usando el cliente. Entonces no puede decir "estás intentando acceder a la página de inicio de sesión a través de HTTP, por lo que te redirigiré a la versión HTTPS de la página", por ejemplo. Puede hacer que el equilibrador de carga agregue un encabezado HTTP para decir "esto vino de HTTPS", pero ese encabezado necesitaría un manejo especial en la aplicación. Dependiendo de su situación, puede ser más fácil volver a cifrar y dejar que la aplicación funcione de manera "predeterminada" en lugar de necesitar una modificación específica del sitio.
En resumen, diría: termine en el equilibrador de carga y vuelva a cifrar en sus servidores de servicios de fondo. Si hace esto y observa algún problema, puede hacer ajustes si lo necesita.