728x90
반응형
HTTPS(SSL) 설정하기
키스토어 만들기 예제
1. 키스토어 생성
2. application.properties
수정
// application.properties
// Keystore 정보 설정
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=spring
동작 확인
1. HTTP 접근 시
2. HTTPS 접근 시
* 키스토어 내 존재하는 인증서가 공인된 인증서가 아니기 때문에 경고 페이지 출력
3. CURL 명령어 사용
Application.java
수정
// Application.java
@SpringBootApplication
@RestController
public class Application {
@GetMapping(value="/hello")
public String hello() {
return "Hello Spring";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
결과 확인
참고
https://gist.github.com/keesun/f93f0b83d7232137283450e08a53c4fd
HTTP Connector
HTTP 커넥터 는 1개만 존재하는데 위 예제에서 HTTP에 SSL을 적용하여 해당 커넥터에 적용했기 때문에 HTTP를 받을 수 있는 커넥터가 없다.
코딩을 이용한 추가 Http Connector 만들기
예제
1. Application.java
수정
// Application.java
@Bean
public ServletWebServerFactory serverFactory() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
// Tomcat Connector 추가
tomcat.addAdditionalTomcatconnectors(createStandardConnector());
return tomcat;
}
private Connector createStandardConnector() {
Connector connector = new Connector("org.apach.coyote.http11.Http11NioProtocol");
connector.setPort(8080);
return connector;
}
2. application.properties
수정
// application.properties
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=spring
server.port=8443 // Server port 지정
동작 확인
참고
HTTP2
HTTP2 활성화 하는 방법
기본적으로 SSL 이 적용되어 있어야 한다.
1. application.properties
수정
// application.properties
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=spring
server.port=8443
server.http2.enabled=true // http2 활성화
* 제약사항이 서버마다 다르다.
Undertow
의 경우 Https
만 적용되어 있으면 추가설정이 필요 없다.
Tomcat v8.5
의 경우 시스템에 특정 라이브러리가 필요하지만, Tomcat v 9.x
와 JDK 9
를 사용할 경우
추가설정이 필요 없다.
2. Undertow
사용을 위한 의존성 추가
// pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- Tomcat 제외 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Undertow 추가 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
</dependencies>
동작 확인
728x90
반응형
'Dev > Spring Boot' 카테고리의 다른 글
[스프링 부트 개념과 활용] 독립적으로 실행 가능한 JAR (0) | 2020.08.19 |
---|---|
[스프링 부트 개념과 활용] Tomcat Http2 (0) | 2020.08.19 |
[스프링 부트 개념과 활용] 내장 웹 서버 응용 1부 (0) | 2020.08.19 |
[스프링 부트 개념과 활용] 내장 웹 서버 이해 (0) | 2020.08.19 |
[스프링 부트 개념과 활용] 자동 설정 만들기 2부 (0) | 2020.08.19 |
댓글