- 
          
          [SSL] Tomcat에 Let’s Encrypt 설치 및 적용LINUX/SSL 2019. 11. 24. 18:53반응형이번 포스팅에서는 Tomcat에 무료 SSL인 Let’s Encrypt을 설치 및 적용하려고 한다. 간단하게 SSL란 기존 http형식에서 암호화된 https형식을 말한다. 필자는 Ubuntu 14.0.4 버전을 기준으로 하였다. 선행 조건으로 Tomcat 서버가 도메인 포트 80으로 꼭 설정되어야 한다. 그래야만 Let’s Encrypt를 설치 할 수 있다. 80포트로 도메인이 열려있어야 설치시 자동으로 임의의 위치에 확인용 txt를 생성 후 도메인에서 확인 후 인증서를 발급해준다. ex) alsdud154.iptime.org(O), alsdud154.iptime.org:80(O), alsdud154.iptime.org:8080(X) 이제 Let’s Encrypt을 설치한다. webroot path는 본인 Tomcat webroot를 입력한다. index.jsp가 있는 경로를 입력하면 된다. 그리고 -d는 본인의 ddns 주소를 입력한다. 이메일은 인증서 만료가 가까워질 때 메일을 보낸다. # cd /root # wget https://dl.eff.org/certbot-auto # mv certbot-auto /usr/bin/letsencrypt # chmod 755 /usr/bin/letsencrypt # letsencrypt certonly --webroot --webroot-path=/home/alsdud154/src/portfolio -d alsdud154.iptime.org  인증서는 정삭적으로 발급되었다. 이제 인증서를 Tomcat에 적용시키자. 필자의 Tomcat은 alsdud154라는 계정으로 실행하기 때문에 다운받은 letletsencrypt의 권한을 alsdud154로 바꿔주었다. $ sudo chown -R alsdud154:alsdud154 /etc/letsencrypt/Tomcat의 server.xml을 실행 후 Connector를 추가하고 redirectPort를 추가한 Connector와 같은 포트로 수정한다. root계정으로 실행할 것이 아니면 포트를 추가할 때 1025이상의 포트를 사용하자. 그 밑의 포트를 사용하면 root 권한으로 Tomcat을 시작하지 않으면 시작되지 않는다. 보통은 8443 포트를 많이 사용한다. $ vim /usr/local/apache-tomcat-8.5.47-portfolio/conf/server.xml <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" scheme="https" sec ure="true" SSLEnabled="true" defaultSSLHostConfigName="alsdud154.iptime.org"> <SSLHostConfig hostName="alsdud154.iptime.org"> <Certificate certificateKeyFile="/etc/letsencrypt/live/alsdud154.iptime.org/privkey.pem" certificate File="/etc/letsencrypt/live/alsdud154.iptime.org/cert.pem" certificateChainFile="/etc/letsencrypt/live/alsdud154.ipt ime.org/fullchain.pem" type="RSA" /> </SSLHostConfig> </Connector> 이제 Tomcat을 재구동하면 정삭적으로 SSL이 적용되었다.  인증서 유효기간은 3개월이다. 그러므로 3개월마다 인증서를 재발급해야 한다. 필자는 주기적으로 월요일마다 인증서 재발급을 실행하게 설정하였다. 먼저 1개의 폴더와 파일을 777권한으로 바꾸었다. crontab -e을 입력 후 3번을 입력한다. 첫번째 줄은 인증서를 재발급 하는 명령이다. 새벽 4:10분, 4:15분에 실행한다. 두번째 줄은 서비스에 Tomcat을 등록하여 저렇게 입력하였다. sudo chmod -R 777 /usr/bin/letsencrypt sudo chmod -R 777 /var/log/ // 3번 입력 $ crontab -e 10 4 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log 15 4 * * 1 service portfolio restart 반응형 반응형'LINUX > SSL' 카테고리의 다른 글[SSL] Apache 서브 도메인 SSL 적용 (0) 2020.04.22 [Apache] Ubuntu Apache SSL 적용 (2) 2020.04.22