Sangil's blog

https://github.com/ChoiSangIl Admin

Spring Boot 무료 Https 인증서(SSL) 발급하기 (letsencrypt) DEV / SERVER

2020-03-15 posted by sang12


이번에 블로그에 https를 적용하면서 letsencrtpt를 이용하여 스프링부트와 CentOs 환경에서 인증서를 발급받는 방법을 알아 보겠습니다. 
저는 https://github.com/certbot/certbot 깃허브 페이지에서 해당 소스를 clone해서 받아오는 방법을 이용하여 발급하였습니다.

yum install -y git 
git clone https://github.com/letsencrypt/letsencrypt
 

깃으로 해당 소스를 받아왔다면 아래와 같이 자신의 이메일과 도메인 주소를 입력합니다.

./letsencrypt-auto certonly --manual --email sang12@kakao.com -d test.co.kr

그리고 개인정보 아이피등이 활용될수있다는 것에 동의를 해주면 하나의 토큰값을 발급해줍니다.

해당 토큰값을 저의 사이트(test.co.kr/.well-known/~)에 인증을 해야 최종적으로 인증서가 발급됩니다. (putty로 서버에 붙어서 사용하는데 저 값을 복사할려고 컨트롤 c를 누를때마다 저 창이 꺼져서...부들부들했습니다 오른쪽마우스 키를 눌러도...동일... 그래서 저는 putty 상단창에서 오른쪽마우스 클릭하면 클립보드로 전체복사키가 있는데요 그걸 이용해서 복사해서 사용했습니다)

그럼 스프링부트에서 해당 위값이 나오게 수정을 해야하는데요. 아래와 같이 추가를 해줬습니다.

@RequestMapping(value = "/.well-known/acme-challenge/your tocken")
    @ResponseBody
    public String applyHttps(HttpServletResponse response) {
	return "your tocken";
    }

그리고 엔터를 눌러주면 /etc/letsencrypt/live/sang12.co.kr 해당 경로에 .pem 파일을 생성해주는데요 톰캣에서 인증서를 사용하기 위해서 아래와 같은 명령어를 사용해줍니다. 

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keywtore.p12 -name airpageserver -CAfile chain.pem -caname root

여기까지 SpringBoot에서 https를 인증서를 발급하는 방법을 알아보겠습니다. 이제 톰캣서버에 해당 인증서를 적용해봐야 겠네요.

#Spring Boot https 무료 인증서 #Spring Boot 인증서 발급 #letsencrypt 인증서 발급 #centos letsencrypt 발급
REPLY