SSL_do_handshake() ist beim SSL-Handshake fehlgeschlagen (SSL: Fehler: 141CF06C: SSL-Routinen: tls_parse_ctos_key_share: ungültiger Schlüsselanteil), Client:

SSL_do_handshake() ist beim SSL-Handshake fehlgeschlagen (SSL: Fehler: 141CF06C: SSL-Routinen: tls_parse_ctos_key_share: ungültiger Schlüsselanteil), Client:

Vor ein paar Monaten begannen Dutzende von Benutzern, sich über Fehler bei der Verbindung mit meiner Site zu beschweren. Wenn ich mir das error.log von nginx anschaue, sehe ich täglich SSL-Fehler:

Ich habe keine Ahnung, was dieses Problem verursachen könnte, da 99 % der Benutzer durchkommen und ich es anscheinend nicht selbst reproduzieren kann. Ein Benutzer sagte, dass der Wechsel zu einem VPN das Problem für ihn behoben habe. Andere Beiträge auf Stackoverflow deuteten darauf hin, dass dies bei böswilligen Anfragen von derselben IP-Adresse auftritt, aber das ist hier nicht der Fall.

Kennt jemand eine Lösung dafür?

(Ich habe seit Monaten keine Änderungen an diesem Server/dieser Konfiguration vorgenommen.)

Der Webserver läuft unter Ubuntu 20.10

Nginx-Fehlerprotokoll

2022/04/16 04:40:19 [crit] 809329#809329: *13542487 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 138.197.194.139, server: 0.0.0.0:443
2022/04/16 04:40:32 [crit] 809329#809329: *13542919 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 38.132.118.76, server: 0.0.0.0:443
2022/04/16 04:58:54 [crit] 809329#809329: *13564742 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 165.227.227.95, server: 0.0.0.0:443
2022/04/16 05:10:29 [crit] 809329#809329: *13578753 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 138.197.194.139, server: 0.0.0.0:443
2022/04/16 05:59:32 [crit] 809329#809329: *13638601 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 178.73.215.171, server: 0.0.0.0:443
2022/04/16 07:16:27 [crit] 809330#809330: *13730741 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 65.49.20.67, server: 0.0.0.0:443
2022/04/16 07:18:19 [crit] 809330#809330: *13733448 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 192.241.223.231, server: 0.0.0.0:443
2022/04/16 09:51:15 [crit] 809330#809330: *13937194 SSL_do_handshake() failed (SSL: error:141CF06C:SSL routines:tls_parse_ctos_key_share:bad key share) while SSL handshaking, client: 165.227.227.95, server: 0.0.0.0:443

Nginx-Konfiguration

server {
    server_name api.domain.com www.api.domain.com;

    location / {
        proxy_pass http://localhost:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/api.domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/api.domain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = www.api.domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = api.domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    listen [::]:80;

    server_name api.domain.com www.api.domain.com;

    return 404; # managed by Certbot
}

verwandte Informationen