tomcat 에 letsencrypt 적용하기

 

certbot 홈페이지에 들어가서보았는데 tomcat은 certbot의 software 옵션에서 보이지 않습니다

 

하지만 걱정마세요 tomcat도 당연히 사용할수 있습니다.

 

좀 더 자동화되고 편리한 설정이 되지 않는 것일뿐,

 

우리의 목적은 ssl 인증서이니깐요

 

ssl 인증서를 만든다음에 운영중인 tomcat에 설정해주시면 됩니다

 

 

certbot 공식문서에는 snapd 를 설치하라고 하지만 설치하는것도 약간 난관에 부딪힐수 있습니다.

 

aws를 사용하고 계신다면 amazon linux에 

 

sudo yum install certbot

 

를 활용할수 있으므로 이렇게 쉽게 설치해보아요

 

 

설치가 완료되었다면 이제 certbot을 실행해봅니다

 

 

 

서버를 잠시 중지할수 있다면 이렇게 명령어를 입력하면 되고

 

sudo certbot certonly --standalone

 

 

잠시도 중지할수 없다면 이렇게 해주세요

 

sudo certbot certonly --webroot

 

다만 webroot 옵션을 사용하려면 letsencrypt의 동작 매커니즘상

 

내 도메인 유효성을 검증하기 위해 /.well-known 폴더를 http 상에서 서빙을 해야합니다.

 

 

 

그러니 서버를 잠시 정지시키고 standalone 옵션을 활용하는것도 좋습니다.

 

 

 

certbot 명령어를 실행했다면 콘솔 상에서 몇가지 질문이 진행됩니다.

 

동의하시고, 사용할 도메인을 입력해주시면 설정이 완료됩니다

 

 

 

모든 과정이 완료되면 아래의 경로에 파일들이 생성되어있는것을 확인할수 있습니다.

 

/etc/letsencrypt/live/도메인명/fullchain.pem

/etc/letsencrypt/live/도메인명/privkey.pem

/etc/letsencrypt/live/도메인명/cert.pem

 

 

 

자 이제 인증서 파일을 얻었으니

 

톰캣에서 설정을 변경할 차례입니다

 

톰캣의 conf/server.xml 파일을 열어 수정을 합니다

 

server.xml 파일에 ssl 관련 설정이 주석처리되어있는것을 볼수 있는데요

 

그런데 잘 살펴보면 두가지의 커넥터가 존재하고 있습니다

 

protocol="org.apache.coyote.http11.Http11AprProtocol"

protocol="org.apache.coyote.http11.Http11NioProtocol"

 

이것까지는 알면 머리가 너무 아프니 

 

protocol="org.apache.coyote.http11.Http11NioProtocol"

 

이걸로 하여 진행합니다

 

Http11AprProtocol을 사용하는 경우에는 추가적인 설정이 필요하거든요

 

 

 

sudo certbot renew --dry-run

 

--dry-run 옵션을 넣은 명령어로 인증서의 갱신 명령어가 잘 동작하는지 확인할 수 있습니다

 

다만 이 경우도 마찬가지로 서버가 중지된 상태에서 동작시켜야 합니다

| 1 | 2 | 3 | 4 | 5 | ··· | 1862 |