On Fri, Aug 30, 2013 at 11:06 AM, Aaron Seet <
ice...@gmail.com> wrote:
> Unfortunately, that only appeared to have delayed the problem; after
> prolonged usage, the error has occurred again.
>
> Error: 1240:error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown
> ca:openssl\ssl\s3_pkt.c:1234:SSL alert number 48
>
> at CleartextStream._pusher (tls.js:656:24)
> at SlabBuffer.use (tls.js:199:18)
> at CleartextStream.CryptoStream._push (tls.js:483:33)
> at SecurePair.cycle (tls.js:880:20)
> at EncryptedStream.CryptoStream.write (tls.js:267:13)
> at Socket.ondata (stream.js:38:26)
> at Socket.EventEmitter.emit (events.js:96:17)
> at TCP.onread (net.js:397:14)
>
>
> Interestingly, this is only particular to one of the backend servers. There
> is no https communication error with other backend server endpoints, despite
> the long list of pending FIN_WAIT_2 sockets.
>
> :-/
>
> Aaron
I can't tell you what exactly the issue is but maybe I can point you
in the right direction. Apologies if I'm not telling you anything you
didn't already know.
That 'SSL alert number 48' error message is sent by the upstream
server. It suggests that you are using client SSL certificates for
authorization. The server is rejecting it because it doesn't know the
CA, the certificate authority that signed the client certificate.
You mention it only happens with one server instance. That suggests
that it has a CA certificate store that is different from the others.
If you are using an in-house CA certificate, it's plausible that you
forgot to add it to that instance's certificate store.
Try connecting with `openssl s_client -cert <filename> -connect
<host>:<port>` and see what happens. Note that s_client only
supports certificates in DER and PEM format. If your certificate is
in PKCS#12 format, you can either export it with `openssl pkcs12` or
use the MS equivalent of `openssl s_client`.