轉載自: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