Error del proxy wss ascendente de Nginx SSL_read() (SSL: error:0A000126:rutinas SSL::eof inesperado durante la lectura)

Error del proxy wss ascendente de Nginx SSL_read() (SSL: error:0A000126:rutinas SSL::eof inesperado durante la lectura)

lo que necesito es

Client <--wss---> nginx <--wss--> server

Estoy haciendo un proxy wss, ya lo tengo funcionando en Apache pero quiero cambiar a nginx ahora aquí está la configuración de Apache:

<LocationMatch "/statistics">
        ProxyPass wss://127.0.0.1:23456
        ProxyAddHeaders Off
        ProxyPreserveHost On
        RequestHeader set Host %{HTTP_HOST}s
        RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s
</LocationMatch>

En nginx uso esta configuración/etc/nginx/nginx.conf

server {
        listen       444 ssl;
        listen       [::]:444 ssl;
        server_name  domain.com www.domain.com;
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/letsencrypt/live/domain/fullchain.pem";
        ssl_certificate_key "/etc/letsencrypt/live/domain/privkey.pem";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;

        ssl_prefer_server_ciphers on;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;


    proxy_ssl_server_name on;
    ssl_protocols TLSv1.2 TLSv1.3;
location /statistics {
    proxy_pass https://127.0.0.1:23456;

    proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host $host;
      proxy_ssl_name $host;
    proxy_ssl_session_reuse off;


      proxy_ssl_certificate "/etc/letsencrypt/live/domain/fullchain.pem";
      proxy_ssl_certificate_key "/etc/letsencrypt/live/domain/privkey.pem";


      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
}

Mi sitio web se carga bien en Nginx sin ningún error de SSL, lo que no funciona es el websocket con wss, ¡el websocket con ws también funciona!

Lo uso wscatpara probar la conexión ejecutando:

wscat -c wss://kaveneger.ir:23456
Connected (press CTRL+C to quit)
> 

Significa que mi punto final está bien (realmente no necesitaba esta prueba ya que funciona en Apache, pero de todos modos...)

Ahora aquí es cuando lo hago con nginx.

wscat -c wss://domain.com:444/statistics
error: Unexpected server response: 404
> %                                                                             

Registros de Nginx

/var/log/nginx/access.log

123.123.123.123 - - [27/Feb/2023:21:53:15 +0000] "GET /statistics HTTP/1.1" 404 0 "-" "-" "-"

/var/log/nginx/error.log

2023/02/27 21:53:49 [crit] 70632#70632: *14 SSL_read() failed (SSL: error:0A000126:SSL routines::unexpected eof while reading) while keepalive, client: 123.123.123.123, server: 0.0.0.0:444

Mi sistema operativo es Rocky Linux 9 y versión nginx: nginx/1.20.1

Ya busqué mucho y probé todas las soluciones que encontré, ¡pero nada funcionó!


Actualizar

¡Funciona si lo uso location /en lugar de location /statistics!

información relacionada