公司动态

5分钟搞定自研HTTP/2服务!wastnet零依赖、免配置,快速搭建不是梦

📅 2026/8/11 19:25:42
5分钟搞定自研HTTP/2服务!wastnet零依赖、免配置,快速搭建不是梦
引入依赖在项目中引入wastnet-core依赖版本为1.0.1零第三方依赖仅依赖JDK本身。准备证书wastnet对PEM与JKS两种证书格式都原生支持。最快的方式是直接用项目测试模块里已准备好的证书PEM位于wastnet-test/src/main/resources/cert/cert.pem server.pemJKS位于wastnet-test/src/main/resources/server.keystore密码123456。写服务代码一个最小可运行的HTTP/2服务只需要几行代码关键点有两个一是使用pemSSL(cert, key)直接加载PEM证书与私钥免密钥库转换二是使用h2()开启HTTP/2h2支持。注意HTTP/2h2依赖ALPN协商需运行在JDK 9及以上才能生效。在JDK 8下ALPN不可用wastnet会自动降级为HTTP/1.1继续服务代码无需改动。如果你使用JKS密钥库wastnet同样支持只需改用sslContext(...)加载构建好的SSLContext即可可参考HttpServerTest.javah2能力完全一致。启动并验证用JDK 9运行Http2QuickStart框架会在启动后自动打印banner。若不需要banner可通过startupBannerEnabled(false)关闭。可以通过浏览器访问https://localhost:8443/自签名证书会有安全提示继续访问即可打开开发者工具Network面板看到协议列显示为h2来验证也可用命令行curl --http2 https://localhost:8443/ -k验证。加一点路由实际项目里一般不会只有一个路径。wastnet通过HttpRouterHandler作为路由入口支持精确匹配、前缀匹配与正则匹配。通过示例代码展示了如何进行路由配置并启动服务。完整示例入口以上代码对应wastnet测试模块中的真实可运行示例可直接参考PEM方式对应的示例为wastnet-test/src/main/java/io/github/wycst/wastnet/examples/http/MiniNginxHttp2.java证书位于wastnet-test/src/main/resources/cert/cert.pem与server.pemJKS方式对应的示例为wastnet-test/src/main/java/io/github/wycst/wastnet/examples/http/HttpServerTest.java密钥库位于wastnet-test/src/main/resources/server.keystore密码123456。wastnet基于Apache 2.0协议完全开源、免费使用。