728x90
반응형
SMALL
Spring Boot 에서 HTTP를 설정하는 것은 간단하다.
참고로 테스트 한 Spring Boot 의 버전은 2.2.1 이며 undertow 를 사용했다.
keytool 을 이용하여 인증서를 생성한다.
keytool -genkey -alias yhkim-ssl -keyalg RSA -keysize 2048 -validity 7300 -keypass 12341234 -keystore yhkim-server.jks
application.properties 또는 application.yaml 파일에 ssl 관련 옵션을 설정한다.
server:
servlet:
context-path: /linkage
port: 8082
ssl:
enabled: true
key-alias: yhkim-ssl
key-store: C:\\dev\\yhkim-server.jks
key-store-password: 12341234
key-store-type: PKCS12
start 해 보자.
https 로 잘 start 된다.
끝났다..... ssl.key-password 도 있는데 이걸로 설정하면 안된다.. 이것 때문에 약간의 삽질을..
이제 API Server 가 HTTPS 로 동작하니 webclient 도 https 통신이 되도록 변경해 보자.
// 기존 코드
return WebClient.builder()
.baseUrl(prop.getInfosaferHost())
.build();
// 변경된 코드
HttpClient httpClient = HttpClient.create().secure(t -> {
try {
t.sslContext(SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build());
} catch (SSLException e) {
log.error("SSLException\n", e);
}
});
return WebClient.builder()
.baseUrl(prop.getInfosaferHost())
.clientConnector(new ReactorClientHttpConnector(httpClient))
.build();
728x90
반응형
LIST
'IT > Spring' 카테고리의 다른 글
Spring Rest Docs (0) | 2020.05.22 |
---|---|
MockMvc 에 Spring Security Filter Chain 적용 (0) | 2020.03.26 |
AOP - 필요할 때 마다 알아서 해 줄테니 넌 핵심 로직에 집중해 (0) | 2020.01.31 |
Spring Boot - setupMultipart(ManagedServlet.java:170) (0) | 2020.01.21 |
Spring Boot - File Upload / Download (0) | 2020.01.20 |