Search code examples
tomcatamazon-ec2httpswebsocketwindows-server-2012-r2

Secured Websocket connections (wss:) abort in tomcat / spring, while https is working


In our app websocket connections are aborted if established as wss:, while ws: is working fine.

Generally, the websocket is no longer open for more the a couple of minutes. Sometime up to 20-30 frames are transmitted, sometime just one or none before it is closed again. The http response code is 101 (most of the times, sometimes it seems to be aborted before anything is sent to the client, the chrome network panel shows just "finished" in these few cases).

The error messages vary:

javax.net.ssl.SSLException: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request

(4000x)

javax.net.ssl.SSLException: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol

(1x)

javax.net.ssl.SSLException: error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure

(10x)

javax.net.ssl.SSLException: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init

(3000x)

The client side received a onClose (not onError).

The Chrome debugger lists

  • https://our.domain as "secure" with valid certificate, while
  • wss://our.domain as "unknown / canceled"

I tried this using

  • Chrome 62
  • Firefox 57

(And: The same behaviour happens when the client runs locally on the server's machine, so it can't be a network issue.)

Backend is tomcat / spring and runs on a AWS EC2 Windows server.

I'd appreciate any help :-) What could be the difference between https and wss?


Solution

  • In fact, we solved this issue by moving the Server to an Ubuntu machine (which requires significantly less memory for tomcat by the way) ..... nevertheless I really would be interesting what is the issue on the windows machine.