Tal como vimos en una entrada anterior, existe otro posible error en la comunicación del proxy inverso con su servidor upstream. En este caso el problema viene por la suite de cifrado SSL que se presenta en éste último y que puede discordar con la del proxy. Aquí de nuevo podemos enfrentarnos con un error 502 bad gateway de la misma manera.

En esta ocasión veremos:

2021/10/20 11:21:59 [error] 49661#114536: *3 SSL_do_handshake() failed (SSL: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:SSL alert number 70) while SSL handshaking to upstream, client: 172.16.0.30, server: test.example.com, request: "GET /favicon.ico HTTP/1.1", upstream: "https://192.168.1.100:443/favicon.ico", host: "test.example.com", referrer: "https://test.example.com/"

Podemos utilizar nuevamente la suite OpenSSL para establecer una conexión y comprobar el error. En este caso, como dijimos arriba, la diferencia en los encriptados es la raíz del problema. La solución pasa por habilitar un algoritmo TLS como el del serviodor upstream:

location / {
  proxy_pass https://test.example.com;
  proxy_ssl_protocols TLSv1.3;
}

En la que la clave se encuentra en la línea proxy_ssl_protocols TLSv1.3;