Estoy usando jetty versión 9.0.0.M4 y estoy tratando de configurarlo para que acepte conexiones SSL.
siguiendo las instrucciones en:
http://www.eclipse.org/jetty/documentation/current/configuring-connectors.html

He conseguido escribir algo que funciona.
Sin embargo, el código que escribí parece feo e innecesariamente complejo.
Alguna idea de cómo hacer esto correctamente?

final Server server = new Server(Config.Server.PORT);

SslContextFactory contextFactory = new SslContextFactory();
contextFactory.setKeyStorePath(Config.Location.KEYSTORE_LOCATION);
contextFactory.setKeyStorePassword("******");
SslConnectionFactory sslConnectionFactory = new SslConnectionFactory(contextFactory, org.eclipse.jetty.http.HttpVersion.HTTP_1_1.toString());

HttpConfiguration config = new HttpConfiguration();
config.setSecureScheme("https");
config.setSecurePort(Config.Server.SSL_PORT);
config.setOutputBufferSize(32786);
config.setRequestHeaderSize(8192);
config.setResponseHeaderSize(8192);
HttpConfiguration sslConfiguration = new HttpConfiguration(config);
sslConfiguration.addCustomizer(new SecureRequestCustomizer());
HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(sslConfiguration);

ServerConnector connector = new ServerConnector(server, sslConnectionFactory, httpConnectionFactory);
connector.setPort(Config.Server.SSL_PORT);
server.addConnector(connector);

server.start();
server.join();
  • buen trabajo en esta pregunta
InformationsquelleAutor user1984205 | 2013-01-16

3 Comentarios

  1. 12

    La ServerConnector debe ser configurado con un SslContextFactory.

    El resto de la obra que están haciendo en la HttpConfiguration es irrelevante para la configuración de SSL.

    Un buen ejemplo de la configuración de SSL en modo embebido, se mantiene en el incrustado jetty ejemplos proyecto.
    http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java

    Editar: para ser más claro (gracias Erik)

    Actualización: Junio De 2016

    El Eclipse Jetty Proyecto ha trasladado su canónica repositorio de github.

    La anterior LikeJettyXml.java ahora se puede encontrar en la

    https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java

    • «El resto de la obra que están haciendo en la HttpConfiguration es innecesario». – entonces, ¿hay una mejor manera para establecer el encabezado de solicitud/respuesta de tamaños?
    • No estoy diciendo que usted no puede utilizar, sólo que su general no se necesitan para lograr las metas que ha establecido en su pregunta. Si usted necesita para controlar los encabezados entonces por todos los medios el uso de la HttpConfiguration.
    • Debo admitir que el «es innecesaria» parte también me desconcertó por unos minutos… tal vez sería mejor decir «irrelevante para la configuración de SSL». De otra manera +1
  2. 5

    Para Jetty 9 no es una buena referencia aquí y todo lo que necesitas hacer es crear la JKS archivo de almacén de claves, como se explica aquí.
    usando el comando keytool -genkey -alias sitename -keyalg RSA -keystore keystore.jks -keysize 2048. Por alguna razón, lo que funciona con jetty 8 no es lo que funciona en 9.

    • El primer enlace ya no es válido. El segundo enlace es probable que sólo sea útil para las personas que ya tienen un gran conocimiento sobre el Embarcadero.
  3. -1

    Para aquellos que no pueden obtener por encima de la configuración de trabajo:
    Si usted está usando java 1.7, asegúrese de tener la última actualización de la misma. Primeras versiones de la jvm 1.7 causa de problemas con el acceso https páginas web (navegador puede mostrar: el restablecimiento de la conexión, conexión interrumpida, o no hay datos recibidos de error).

Dejar respuesta

Please enter your comment!
Please enter your name here