转载自:https://segmentfault.com/a/1190000013644784
maven
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency> <dependency> <groupId>io.undertow</groupId> <artifactId>undertow-core</artifactId> <version>2.0.29.Final</version> </dependency> <dependency> <groupId>io.undertow</groupId> <artifactId>undertow-servlet</artifactId> <version>2.0.29.Final</version> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> <exclusions> </dependency>
配置文件(必须使用tls证书,这是http2的硬性要求)
application.properties(我不喜欢YAML格式,编辑容易出错)
server.http2.enabled=true server.undertow.worker-threads=20 server.undertow.buffer-size=512 server.undertow.io-threads=2
#tls证书配置
server.ssl.key-store=classpath:tomcat.key
server.ssl.key-store-type=JKS
server.ssl.key-alias=tomcat
server.ssl.key-store-password=xxxx #密码
配置成功以后控制台,会显示以下内容
2020-02-29 20:18:22.682 INFO 11448 --- [ main] io.undertow : starting server: Undertow - 2.0.29.Final 2020-02-29 20:18:22.690 INFO 11448 --- [ main] org.xnio : XNIO version 3.3.8.Final 2020-02-29 20:18:22.702 INFO 11448 --- [ main] org.xnio.nio : XNIO NIO Implementation Version 3.3.8.Final 2020-02-29 20:18:22.769 INFO 11448 --- [ main] o.s.b.w.e.u.UndertowServletWebServer : Undertow started on port(s) 19006 (http) with context path ''
通过Chrome可以看到请求及响应报头如下
响应报头
由于笔者本地是自签名证书,没有正式的证书,比没使用tls之前慢,没有深入研究。
感兴趣的研究证书 https://www.cnblogs.com/passedbylove/p/12054364.html