gpt4 book ai didi

java - Spring Boot 启用 http/2 协议(protocol)

转载 作者:行者123 更新时间:2023-12-05 07:33:39 31 4
gpt4 key购买 nike

我正在使用带有嵌入式 Undertow 服务器 1.4 的 Spring boot 1.5.12 (JDK 8),并且我使用“server.https.enabled: true”在我的属性中启用了 http2 协议(protocol),但它似乎不起作用。我还与自签名证书建立了安全连接。当我在浏览器上加载我的应用程序 (Angular 5) 时,我仍然使用 http/1.1 协议(protocol)。

这是我的 SpringBootApplication 类中的内容:

@SpringBootApplication
@EnableEurekaClient
@EnableOAuth2Sso
public class Application extends WebSecurityConfigurerAdapter {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

@Override
public void configure(HttpSecurity http) throws Exception {
//some authorization configuration
}
}

Application.properties 文件

security:
require-ssl: true
server:
ssl:
enabled: true
http2:
enabled: true
port: 8085
ssl:
key-store: classpath: keystore.p12
key-store-type: PKCS12
key-alias: devel
key-store-password: pass
key-password: pass
eureka:
client:
serviceUrl:
defaultZone: https://localhost:8761/eureka
instance:
preferIpAddress: false
securePortEnabled: true
securePort: ${server.port}

我还需要配置什么吗?

提前致谢

最佳答案

尝试将以下 bean 添加到您的配置中:

@Bean
UndertowEmbeddedServletContainerFactory embeddedServletContainerFactory() {
UndertowEmbeddedServletContainerFactory factory = new UndertowEmbeddedServletContainerFactory();
factory.addBuilderCustomizers(
builder -> builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true));
return factory;
}

关于java - Spring Boot 启用 http/2 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50470332/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com