티스토리 뷰
서버에서 통신할 때 https 적용해야하는 경우가 많다.
특히 개인정보 관련 고유식별정보, 개인신용정보, 개인식별정보 등의 민감정보들을 다루면
기본적으로 https 통신을 꼭 적용해야 한다.
https 통신에서는 인증서를 주고 받는 handshaking 과정을 거치기 때문에 http 통신보다는 성능이 안좋다.
상황에 따라서 적용하면 될듯.
HTTPS 적용하기
사설 인증서 기준으로 작성
1. KeyStore 생성
Java가 설치된 환경이어야 하며 keytool 명령어를 이용하여 생성한다.
[ubuntu@aaserver:/work] keytool -genkeypair -alias test -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore test.p12 Enter keystore password: 테스트123# Re-enter new password: 테스트123# What is your first and last name? [Unknown]: godd What is the name of your organizational unit? [Unknown]: dev What is the name of your organization? [Unknown]: s What is the name of your City or Locality? [Unknown]: seoul What is the name of your State or Province? [Unknown]: What is the two-letter country code for this unit? [Unknown]: Is CN=godd, OU=dev, O=s, L=seoul, ST=Unknown, C=Unknown correct? [no]: yes |
2. 생성한 KeyStore 프로젝트로 이동
생성된 PKCS12 파일 (확장명 .p12) 을 resource 폴더로 이동
3. Spring Boot 환경설정
server:
port: 8443
ssl:
key-alias: test
key-store: classpath:test.p12
key-store-type: PKCS12
key-store-password: 테스트123#
위처럼 세팅을 하고 나면 http 통신 시 에러가 난다.
4. HTTP2 적용
https 설정을 하고 나면 http2 를 적용할 수 있다.
server:
port: 8443
ssl:
key-alias: test
key-store: classpath:test.p12
key-store-type: PKCS12
key-store-password: 테스트123#
http2:
enabled: true
맨 아래와 같이 http2.enabled 설정을 해주면 된다 끗
기본 설정에 대해서만 공유했지만 설명할 것이 굉장히 많은 포스트이다.
인증서 파일 포맷부터
인증서 구조,
SSL 통신 과정 (handshaking, 대칭키와 공개키 등),
1 WAY, 2 WAY SSL 통신에 대한 차이
http1.1 과 http2 차이..
다 생략하고 Spring Boot에 적용하는 방법만!
나머지는 다음에 다루는것으로
'Programming & Solution > Java' 카테고리의 다른 글
[Spring] AsyncHandlerInterceptor 이슈 (0) | 2021.03.24 |
---|---|
[Junit] 템플릿 (0) | 2021.03.10 |
[SpringBoot] CP Connection 이슈 트러블슈팅 (0) | 2020.03.10 |
[SpringSecurity] URL 더블슬래시 허용 (1) | 2019.08.28 |
[SpringBoot] OAUTH2 설정 (0) | 2019.08.22 |
- Total
- Today
- Yesterday
- Bitcoin
- Redis
- SpringBoot
- Java
- Nealford
- Vue.js
- gRPC
- 동적계획법
- 비트코인
- 백준
- Blockchain
- excel parsing
- 카르다노
- 블록체인
- kubernetes
- 알고리즘
- architecture
- 암호화폐
- leetcode
- 스프링 시큐리티
- DP
- vuejs
- k8s
- 사토시 나가모토
- white paper
- 스프링
- Spring
- CARDANO
- Bruteforce
- 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |