0

We have jetty server running in our local using SSL ,whenever we tried to connect using websocket , chrome throws connection failure error.

Server server = new Server();
            
            SslContextFactory sslContextFactory = new SslContextFactory();
            InputStream stream = 
           
      websocket.class.getResourceAsStream("path to keystore.jks");

            KeyStore ks = KeyStore.getInstance("JKS");
            ks.load(stream, "password".toCharArray());
            
            sslContextFactory.setKeyStore(ks);
            sslContextFactory.setKeyStoreType("JKS");
            sslContextFactory.setKeyStorePassword(Constants.keyStorePasswordMaster);
            
            SslSelectChannelConnector sslConnector = new 
            SslSelectChannelConnector(sslContextFactory);
            sslConnector.setPort(8083);
            server.addConnector(sslConnector);   
            
            ServletContextHandler handler = new 
            ServletContextHandler(ServletContextHandler.SESSIONS);
            handler.setContextPath("/server/ws");
            server.setHandler(handler);
            handler.addServlet(PingServlet.class, "/ping");
        
            server.start();   
            LOG.info("end setUpSSLSelectChannel() and secure jetty started");

PS : the same code works with Java 8 only with java 11 we have this issue. Any help is highly appreciated

adorearun
  • 151
  • 1
  • 13

1 Answers1

0

Jetty 7.x and 8.x are not compatible with Java 11.

See past answer on this topic:

https://stackoverflow.com/a/69046352/775715

Jetty 7.x was declared EOL (End of Life) back in the year 2014.

See Jetty Version Table : https://www.eclipse.org/jetty/download.php#version-table

You need to be on the Jetty 9.4.x series for the bare minimum support for Java 11.

And if you need full blown support for Java 11, use Jetty 10.x (the old javax.* namespace) or Jetty 11.x (the new jakarta.* namespace)

Also of note, WebSocket support on Jetty 7.x and 8.x are for the WebSocket drafts, not the final spec. No browser currently supports the old draft versions. You'll need to be on Jetty 9.x at a minimum for proper websocket support.

Joakim Erdfelt
  • 46,896
  • 7
  • 86
  • 136