[SPRING] 어떻게하면 cleencrypt SSL 인증서를 설정하고 Spring Boot 애플리케이션에서 사용할 수 있습니까?
SPRING어떻게하면 cleencrypt SSL 인증서를 설정하고 Spring Boot 애플리케이션에서 사용할 수 있습니까?
저는 서버 보안에 익숙하지 않아서 이것에 관해 많이 알지는 못하지만, HTTPS를 사용하기 위해 Digital Ocean Droplet에서 실행중인 Spring Boot Application을 얻어야합니다.
내 생각은 암호화 된 인증서를 등록한 다음이를 사용하도록 Spring에 알려주는 것이다.
그러나, 어떻게 해야할지 모르겠다.
감사.
해결법
-
==============================
1.Let 's Encrypt and Spring Boot에 관한 2 개의 블로그 게시물을 썼습니다.
Let 's Encrypt and Spring Boot에 관한 2 개의 블로그 게시물을 썼습니다.
요약하면 다음과 같습니다.
상황은 /etc/letsencrypt/live/example.com에 생성됩니다. 스프링 부트는 PKCS # 12 형식의 파일을 필요로합니다. 키를 PKCS # 12 키 스토어 (예 : OpenSSL 사용)로 변환해야한다는 의미입니다. 다음과 같이 :
PKCS12가있는 keystore.p12 파일이 이제 /etc/letsencrypt/live/example.com에 생성됩니다.
이제 스프링 부트 애플리케이션을 설정할 차례입니다. application.properties 파일을 열고 다음 등록 정보를 입력하십시오.
server.port=8443 security.require-ssl=true server.ssl.key-store=/etc/letsencrypt/live/example.com/keystore.p12 server.ssl.key-store-password=<your-password> server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=tomcat
자세한 내용 및 설명은 내 블로그 게시물을 참조하십시오.
-
==============================
2.1 단계 : git에서 certbot 다운로드
1 단계 : git에서 certbot 다운로드
도메인 주소가 가리키는 서버에서 Let 's Encrypt의 소스 코드를 가져와야합니다. 이 단계는 몇 분이 소요될 수 있습니다.
참고 : Python 2.7.8 (또는 그 이상)을 미리 설치해야합니다.
2 단계 : 인증서 및 개인 키 생성
터미널에서 다음 명령을 실행하면 암호화를 통해 인증서와 개인 키가 생성됩니다.
참고 : 키는 /etc/letsencrypt/live/example.com 디렉토리에 생성됩니다.
3 단계 : PEM 파일에서 PKCS12 파일 생성
PEM 파일을 PKCS12 버전으로 변환하려면 다음을 수행하십시오. /etc/letsencrypt/live/example.com으로 이동하십시오. 다음과 같이 터미널에서 OpenSSL을 사용하여 키를 PKCS12로 변환하십시오.
내보내기 암호 입력 :
확인 - 내보내기 비밀번호 입력 :
(참고 : - 한 번에 한 줄 씩 작성하고 Enter 키를 누릅니다)
Step4 : 스프링 부트 애플리케이션의 설정
'application.properties'파일을 엽니 다. 이 구성을 거기에 놓으십시오.
-
==============================
3.또 다른 옵션은 Spring Boot Starter ACME를 사용하는 것입니다.
또 다른 옵션은 Spring Boot Starter ACME를 사용하는 것입니다.
https://github.com/creactiviti/spring-boot-starter-acme
ACME (Automatic Certificate Management Environment)는 LetsEncrypt가 자동으로 인증서를 발급하기 위해 사용하는 프로토콜입니다.
-
==============================
4.파일은 다음과 같아야합니다.
파일은 다음과 같아야합니다.
server.port = 8443 server.ssl.key-store = classpath:sample.jks server.ssl.key-store-password = secret server.ssl.key-password = password
-
==============================
5.스프링 부트 webflux의 경우 속성 구성이 변경되었습니다.
스프링 부트 webflux의 경우 속성 구성이 변경되었습니다.
server.port=443 server.ssl.enabled=true//the changed line server.ssl.keyAlias=netty server.ssl.key-store=path server.ssl.key-store-password=password server.ssl.keyStoreType=PKCS12
from https://stackoverflow.com/questions/36991562/how-can-i-set-up-a-letsencrypt-ssl-certificate-and-use-it-in-a-spring-boot-appli by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring MVC Controller : "return forward", "return redirect"및 "return jsp file"의 차이점은 무엇입니까? (0) | 2019.03.02 |
---|---|
[SPRING] Spring Tool Suite IDE에서 프로젝트를 재배포하려고 할 때 이미 8080 포트가 발생했습니다. (0) | 2019.03.02 |
[SPRING] 자바 프레임 워크 전쟁 : 봄과 겨울잠 (0) | 2019.03.02 |
[SPRING] Intellij IDEA : JPA 유효성 검사를위한 데이터 소스 지정 (0) | 2019.03.02 |
[SPRING] 통합 테스트에서 MockMvc와 RestTemplate의 차이점 (0) | 2019.03.02 |