작성
·
856
0
http2 프로토콜 적용시에 지속적으로 적용이 되지 않아 질문을 드립니다.
1, ssl 적용은 확인이 되었습니다.
2, undertow로 웹 애플리케이션 서버를 바꿨습니다.
3, jdk 8버전과 spring boot 2.3.4버전을 쓰고 있습니다.
해당 과정을 거치고 run을 할 시에 오류는 발생이 되지 않는데 http2가 계속 적용이 되지 않아서 질문을 드립니다.
의존성 설정
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<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>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
properties설정
server.ssl.key-store= keystore.p12
server.ssl.key-store-password= 123456
server.ssl.keyStoreType= PKCS12
server.ssl.keyAlias= tomcat
server.port=8443
server.http2.enabled=true
controller
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
@GetMapping("/hello")
public String hello(){
return "hello";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
결과
필수 설정을 적용시킨것 같은데 동작이 안되어서 위와 같은 이유로 질문을 드립니다.
항상 좋은 강의를 해 주셔서 감사합니다!
답변 7
2
제 강의 내용 그대로 해봤으나 여전히 잘 동작하고 있습니다. SSL 설정이 제대로 안된경우에 http2 요청을 보내더라도 http/1.1로 응답하는 경우가 있기는 한데, 맨 처음 질문 주신 글을 보면 SSL도 잘 설정이 된걸로 보이는데 흠.. 이상하네요.
죄송하지만 모르겠네요. 보여주신 의존성 설정과 application.properties에서는 이상한 점을 찾을 수가 없습니다.
저도 동일하게 스프링 부트 2.3.4를 사용했으며 다른거라면 저는 자바 11을 썼다는것 정도인데 수업 영상에서는 1.8을 쓰고 있으니 자바 버전과는 관계 없는 문제로 보입니다.
0
0
0
0
넵 curl을 이용하여 실행을 시켰을때도 http2가 아닌 http1.1로 결과가 나오기 때문에 질문을 드렸습니다. spring docs를 보아도 undertow는 따로 설정이 필요 없다고만 나와 있는데 이유를 모르겠습니다..
0
0