自己署名 CA 証明書を使用して作成された証明書を使用して、https サーバーを実行しています。
ここで、https サーバーに接続されている Socket.io サーバーに Socket.io クライアントを接続します。残念ながら、次のようなエラーが表示されます。
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)
基本的に、このエラーは、証明書を正常に検証できなかったことを示しています。これは、対応する CA 証明書が自己署名されているためです。https リクエストを使用する場合、信頼する CA を指定できます。
この場合、Socket.io を接続するにはどうすればよいですか?
PS: 私は Node.js 0.10.0 と Socket.io 0.9.13 を実行しています。