Sto eseguendo un server https utilizzando un certificato che è stato creato utilizzando un certificato CA autofirmato.Il certificato Socket.io + SSL + autofirmato della CA fornisce un errore durante la connessione
Ora voglio connettere il client Socket.io al server Socket.io che è collegato al server https. Purtroppo, ottengo un errore, dicendomi:
Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
at SecurePair.<anonymous> (tls.js:1271:32)
at SecurePair.EventEmitter.emit (events.js:92:17)
at SecurePair.maybeInitFinished (tls.js:883:10)
at CleartextStream.read [as _read] (tls.js:421:15)
at CleartextStream.Readable.read (_stream_readable.js:293:10)
at EncryptedStream.write [as _write] (tls.js:330:25)
at doWrite (_stream_writable.js:211:10)
at writeOrBuffer (_stream_writable.js:201:5)
at EncryptedStream.Writable.write (_stream_writable.js:172:11)
at write (_stream_readable.js:547:24)
at flow (_stream_readable.js:556:7)
In sostanza, questo errore mi dice che il certificato non è stato possibile verificare con successo. Ciò è dovuto al fatto che il certificato CA corrispondente è autofirmato. Quando si utilizza una richiesta https, posso specificare le CA di cui mi fido.
Come posso fare in modo che Socket.io si connetta in questo caso?
PS: Sto eseguendo Node.js 0.10.0 e Socket.io 0.9.13.
Ok, questo risponde alla domanda del perché Non è supportato, grazie per averlo indicato (anche se penso che la sua vista sia un po 'stretta) –
, quindi, come risolve i casi di sviluppo/sceneggiatura? Devo comprare un certificato per tutti i miei server di staging, Vagrant VMs e server di produzione? –
Node.js 0.10 è stato configurato per rifiutare automaticamente i certificati SSL autofirmati. È possibile "annullare" questo per lo sviluppo aggiungendo la seguente variabile ENV: 'NODE_TLS_REJECT_UNAUTHORIZED = 0' Inoltre, sì, ho uno stretto vista quando si tratta di SSL;) Ma come potreste aver provato, i certificati autofirmati causano un sacco di problemi che ca essere prevenuto con un certificato adeguato Per quanto riguarda lo sviluppo/la messa in scena, acquista un ssl cert jolly o modifica il tuo/etc/hosts'? ;) – 3rdEden