ERR_SSL_PROTOCOL_ERROR μόνο για ορισμένους χρήστες (nodejs, express)

ψήφοι
2

Μόνο μερικοί (όχι όλοι) χρήστες λαμβάνουν ERR_SSL_PROTOCOL_ERROR στο Chrome όταν επιχειρούν να επισκεφθούν τον ιστότοπό μου express. Δεν λαμβάνω αυτό το σφάλμα, οπότε αποδεικνύεται ένας πόνος για εντοπισμό σφαλμάτων.

Δημιουργώ έναν διακομιστή https χρησιμοποιώντας ένα αρχείο PFX που έλαβα από τον πάροχό μου (1 & 1):

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

Το https://whatsmychaincert.com μου λέει ότι η αλυσίδα είναι σωστή αλλά παραπονιέται για τη χειραψία:

Το [mysite] έχει τη σωστή αλυσίδα.

[mysite]: Σφάλμα χειραψίας TLS: σφάλμα: 14077438: ρουτίνες SSL: SSL23_GET_SERVER_HELLO: Εσωτερικό σφάλμα ειδοποίησης tlsv1 Τα εργαστήρια SSL ενδέχεται να μπορούν να σας πουν τι πήγε στραβά

Το έχω κάνει χωρίς επιτυχία, κάποιος ξέρει ποιο θα μπορούσε να είναι το πρόβλημα; Τυ.

Δημοσιεύθηκε 26/05/2020 στις 13:46
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
0

Μια πιθανή πηγή αποτυχημένης χειραψίας θα μπορούσε να είναι η έλλειψη ενδιάμεσου πιστοποιητικού, ca επιλογή του tls.createSecureContext . Θα πρέπει από το κοινό στον ιστότοπο του παρόχου σας.

Ελπίζω να σας βοηθήσει.

Απαντήθηκε 07/06/2020 στις 01:10
πηγή χρήστη

ψήφοι
0

στις μέρες μας, όταν ο διακομιστής μας (π.χ. 1 & 1) έχει διαμορφωθεί με ασφάλεια, υποστηρίζονται μόνο tls v1.2 και tls v1.3 ..

πώς μπορείτε να το εντοπίσετε:

  • σαρώστε τον ιστότοπό σας με SSL Labs Test επίσης για να δείτε ποιες κρυπτογραφητές υποστηρίζονται ή εναλλακτικά δείτε στη διαμόρφωση nginx / apache

  • tail -f τα αρχεία καταγραφής διακομιστή, ειδικά τα αρχεία καταγραφής catchall / other_vhosts, καθώς τα σφάλματα πρωτοκόλλου ssl ενδέχεται να υπάρχουν στα αρχεία καταγραφής ιστότοπου και το γενικό αρχείο καταγραφής catchall όταν ο διακομιστής δεν μπορεί να αποφασίσει για το όνομα

  • προσπαθήστε να ενημερώσετε το Chrome για να υποστηρίξετε τουλάχιστον tls 1.2

    Το chrome έχει μερικούς διακόπτες γραμμής εντολών για να αλλάξει τη συμπεριφορά κρυπτογράφησης:

    • --ssl-version-max Καθορίζει τη μέγιστη έκδοση SSL / TLS ("tls1.2" ή "tls1.3"). ↪
    • --ssl-version-min Καθορίζει την ελάχιστη έκδοση SSL / TLS ("tls1", "tls1.1", "tls1.2" ή "tls1.3"). ↪

ΕΠΙΚΙΝΔΥΝΗ ΖΩΝΗ:

  • ως έσχατη λύση θα μπορούσατε να δοκιμάσετε να αποδεχτείτε κρυπτογραφητές παλαιού τύπου στο nginx-config ( ssl_ciphers οδηγία) όπως το socat OR (τελευταία λύση) socat23 για να ελέγξετε ποια έκδοση υποστηρίζουν οι πελάτες σας,

θυμηθείτε να απενεργοποιήσετε τα πάντα κάτω από το tls v1.2 σε περιβάλλον παραγωγής

Απαντήθηκε 07/06/2020 στις 15:57
πηγή χρήστη

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