ERR_SSL_PROTOCOL_ERROR seulement pour certains utilisateurs (nodejs, express)

voix
2

Seuls certains utilisateurs (pas tous) reçoivent ERR_SSL_PROTOCOL_ERROR dans Chrome lorsqu'ils tentent de visiter mon site express. Je ne reçois pas cette erreur, donc le débogage s'avère difficile

Je crée un serveur https en utilisant un fichier PFX que j'ai téléchargé de mon fournisseur (1&1) :

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

https://whatsmychaincert.com m'indique que la chaîne est correcte mais se plaint de la poignée de main :

[mysite] a la bonne chaîne.

[mysite] : Erreur de poignée de main TLS : error:14077438:Routines SSL:SSL23_GET_SERVER_HELLO:tlsv1 alert erreur interne Les laboratoires SSL pourraient vous dire ce qui a mal tourné

J'ai cherché sur Google sans succès, quelqu'un sait-il quel pourrait être le problème ? Ty.

Créé 26/05/2020 à 13:46
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Une source possible d'échec de la poignée de main pourrait être l'absence d'un certificat intermédiaire, l'caoption tls.createSecureContext. Elle doit être rendue publique sur le site web de votre fournisseur.

J'espère que cela vous aidera.

Créé 07/06/2020 à 01:10
source utilisateur

voix
0

de nos jours, lorsque notre serveur (par exemple 1&1) est configuré de manière sécurisée, seules les versions tls 1.2 et tls 1.3 sont supportées ...

donc comment vous déboguez cela :

  • scannez votre site avec le test SSL Labs pour voir quels chiffres sont pris en charge, ou voyez dans notre configuration nginx/apache

  • tail -f les journaux du serveur, en particulier les fichiers journaux catchall/autres_hôtes, puisque des erreurs de protocole ssl peuvent se trouver dans les journaux du site et dans le journal catchall générique lorsque le serveur ne peut pas décider du nom

  • essayez de mettre à jour les utilisateurs chrome pour qu'ils supportent au moins tls 1.2

    chrome dispose de quelques interrupteurs de ligne de commande pour modifier son comportement de chiffrement :

    • --ssl-version-max Spécifie la version SSL/TLS maximale ("tls1.2" ou "tls1.3"). ↪
    • --ssl-version-min Spécifie la version SSL/TLS minimale ("tls1", "tls1.1", "tls1.2", ou "tls1.3"). ↪

ZONE DE DANGER :

  • en dernier recours, vous pouvez essayer d'accepter les anciens codes dans votre configuration nginx (ssl_ciphersdirective) comme socat OU (tout dernier recours) socat23 pour vérifier quelle version vos clients prennent en charge,

n'oubliez pas de désactiver tout ce qui se trouve en dessous de tls v1. 2 en production environnement

Créé 07/06/2020 à 15:57
source utilisateur

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