ERR_SSL_PROTOCOL_ERROR pouze pro některé uživatele (nodejs, express)

hlasů
2

ERR_SSL_PROTOCOL_ERROR obdrží v Chrome při pokusu o návštěvu mého expresního webu pouze někteří (ne všichni) uživatelé. Tuto chybu nedostávám, takže je debugování bolestí.

Vytvářím server https pomocí souboru PFX, který jsem stáhl od svého poskytovatele (1 a 1):

var options = {
  pfx: fs.readFileSync('./mysite_private_key.pfx'),
  passphrase: 'MYPASSPHRASE',
};
https.createServer(options, app).listen(443); 

https://whatsmychaincert.com mi říká, že řetěz je správný, ale stěžuje si na handshake:

[mysite] má správný řetěz.

[mysite]: Chyba handshake TLS: chyba: 14077438: Rutiny SSL: SSL23_GET_SERVER_HELLO: interní chyba výstrahy tlsv1 SSL Labs vám budou moci říct, co se pokazilo

Googled jsem to bez úspěchu, ví někdo, co by to mohlo být problém? Ty.

Položena 26/05/2020 v 13:46
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Možným zdrojem neúspěšného handshake by mohl být nedostatek přechodného certifikátu, ca možnost tls.createSecureContext . To by mělo být veřejně na webových stránkách vašeho poskytovatele.

Snad to pomůže.

Odpovězeno 07/06/2020 v 01:10
zdroj uživatelem

hlasů
0

dnes, když je náš server (např. 1 a 1) bezpečně nakonfigurován, jsou podporovány pouze tls v1.2 a tls v1.3.

tak jak to debugovat:

  • prohledejte svůj web pomocí SSL Labs Test také, abyste viděli, které šifry jsou podporovány, nebo střídavě podívejte se do naší konfigurace nginx / apache

  • tail -f protokoly serveru, zejména protokolové soubory catchall / other_vhosts, protože chyby protokolu ssl mohou být v protokolech webů a generických protokolech catchall, když server nemůže rozhodnout o jménu

  • zkuste aktualizovat chrome uživatele tak, aby podporovali alespoň tls 1.2

    chrome má některé přepínače příkazového řádku, aby změnil své chování šifry:

    • --ssl-version-max Určuje maximální verzi SSL / TLS ("tls1.2" nebo "tls1.3"). ↪
    • --ssl-version-min Určuje minimální verzi SSL / TLS ("tls1", "tls1.1", "tls1.2" nebo "tls1.3"). ↪

NEBEZPEČNÁ ZÓNA:

  • jako poslední možnost byste se mohli pokusit přijmout starší šifry ve vašem nginx-config ( ssl_ciphers direktiva), jako je socat NEBO (zcela poslední možnost) socat23 a zkontrolovat, kterou verzi vaši klienti podporují,

Nezapomeňte v produkčním prostředí zakázat vše pod tls v1.2

Odpovězeno 07/06/2020 v 15:57
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more