У меня есть следующий код, который должен настроить конечную точку защищенного веб-узла в автономном приложении Java (jnlp triggered) и разрешить мне подключаться от клиента (Javascript в браузере) с URL-адресом : WS: // локальный: 8444/эхоНе удается подключиться к защищенному веб-узлу, запущенному на Jetty
сервер запускается без ошибок, но я не могу подключиться:
подключение WebSocket к 'WSS: // локальный: 8444/эхо' не удалось: Ошибка в установка соединения: сеть :: ERR_CONNECTION_CLOSED
server = new Server();
SslContextFactory contextFactory = new SslContextFactory();
contextFactory.setKeyStorePath("/path/keys/keystore.jks");
contextFactory.setKeyStorePassword("changeit");
SslConnectionFactory sslConnectionFactory = new SslConnectionFactory(contextFactory, org.eclipse.jetty.http.HttpVersion.HTTP_1_1.toString());
ServerConnector connector = new ServerConnector(server, sslConnectionFactory);
connector.setPort(8444);
ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
contextHandler.setContextPath("/");
HandlerCollection hc = new HandlerCollection();
hc.addHandler(contextHandler);
server.setHandler(contextHandler);
server.addConnector(connector);
// Add websocket servlet
ServletHolder wsHolder = new ServletHolder("echo",new EchoSocketServlet());
contextHandler.addServlet(wsHolder,"/echo");
try
{
server.start();
server.join();
}
catch (Exception e)
{
e.printStackTrace();
}
Если кто-либо может заметить очевидную ошибку в вышеуказанном, то будет оценена некоторая обратная связь. Кроме того, я могу успешно подключиться к указанному выше, когда я удаляю SslConnectionFactory и подключаюсь с помощью URL-адреса без SSL-соединения (ws: //).
Если вы попытаетесь подключиться к чему-то вроде 'https: // localhost: 8444/blarg', вы получите более полезное сообщение об ошибке? –
'HandlerCollection hc' не используется, не стесняйтесь удалить его. –
Пробовал URL-адрес, предложенный в браузере, и получил следующее: curl: (35) Сервер прервал SSL-квитирование Я бы подумал, что hc использовался в коде выше, в силу того, что к нему добавлен contextHandler, который затем добавляется как обработчик объекта сервера? – dre