jetty 9プログラミングに基づく埋め込みhttpサーバの構築

3823 ワード

jetty 9プログラミングに基づく埋め込みhttpサーバの構築
評価:
 この経験を収蔵する.    
まず、コマンドラインの下でjdkのkeytoolツールを使用してkeystoreを生成します.
?
1 keytool -keystore keystore - alias jetty -genkey -keyalg RSA
ステップ2、証明書の生成
?
1 keytool - export - alias jetty - file jetty.crt -keystore keystore
第3歩、OBAファイルを生成して、ここのyoursslpasswordは第1歩の記入するパスワードです
?
1 java - cp jetty-all-9.0.5.v20130815.jar org.eclipse.jetty.util.security.Password yoursslpassword
第4歩、符号化はhttpsサーバを実現する
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Server server =  new Server();
  HttpConfiguration https_config =  new HttpConfiguration(); https_config.setSecureScheme( "https" ); https_config.setSecurePort( 8443 ); https_config.setOutputBufferSize( 32768 ); https_config.addCustomizer( new SecureRequestCustomizer());
  SslContextFactory sslContextFactory =  new SslContextFactory(); sslContextFactory.setKeyStorePath( "keystore" ); sslContextFactory.setKeyStorePassword( "OBF:1xtb1uo71wg41y0q1y7z1y101wfu1unr1xu7" ); sslContextFactory.setKeyManagerPassword( "OBF:1xtb1uo71wg41y0q1y7z1y101wfu1unr1xu7" );
  ServerConnector httpsConnector =  new ServerConnector(server,          new SslConnectionFactory(sslContextFactory, "http/1.1" ),          new HttpConnectionFactory(https_config)); httpsConnector.setPort( 8443 ); httpsConnector.setIdleTimeout( 500000 ); server.addConnector(httpsConnector);
  WebAppContext webApp =  new WebAppContext(); webApp =  new WebAppContext(); webApp.setContextPath( "/myapp" ); webApp.setResourceBase( "WebRoot" ); webApp.setInitParameter( "org.eclipse.jetty.servlet.Default.dirAllowed" ,  "false" ); webApp.setInitParameter( "org.eclipse.jetty.servlet.Default.useFileMappedBuffer" ,  "false" ); server.setHandler(webApp);
  try {      server.start();      server.join(); }  catch (Exception e) {      // TODO Auto-generated catch block      e.printStackTrace(); }
手順5:ブラウザからアクセスhttps://localhost:8443/myappアプリケーションにアクセスします.ブラウザでは、証明書が信頼できないかどうか、アクセスを続行するかどうか、ポイントは「Yes」です.