飞扬范文网
当前位置 首页 >范文大全 > 辞职报告 >

基於jetty9,编程构建嵌入式https,服务器

发布时间:2021-09-28 12:48:41 浏览数:

 基於 jetty9 編程構建嵌入式 https 服務器

 第一步,命令行下使用 jdk 的 keytool 工具生成 keystore

 keytool -keystore keystore -alias jetty -genkey -keyalg RSA 第二步,生成證書

 keytool -export -alias jetty -file jetty.crt -keystore keystore 第三步,生成 OBA 文件,這裏的 yoursslpassword 是第一步填寫的密碼

 java -cp jetty-all-9.0.5.v20130815.jar org.eclipse.jetty.util.security.Password yoursslpassword 第四步,編碼實現 https 服務器

 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(); }

 第五步,通過瀏覽器訪問 https://localhost:8443/myapp 訪問應用。瀏覽器會提示證書不可信任,是否繼續訪問,點是即可。

 基於 jetty9 實現。

相关热词搜索: 嵌入式 基於 构建