Let's Encrypt SSL로 Tomcat을 보호하는 방법

Let's Encrypt SSL로 Tomcat을 보호하는 방법

2022-10-18 last update

7 minutes reading Let's Encrypt tomcat SSL
Let's Encrypt는 웹 애플리케이션에 사용할 유효한 SSL 인증서를 제공하는 인증 기관입니다. 몇 가지 제한 사항이 있는 모든 사람에게 인증서를 무료로 제공합니다. 보안은 해커로부터 열심히 작업하는 코드를 보호하기 위한 모든 조직의 기본 원칙이어야 합니다. 공용 네트워크를 통해 애플리케이션 데이터를 이동할 때 더욱 중요해집니다. 이 상황에서는 TLS를 사용하여 종단 간 암호화를 구현해야 합니다. 이 자습서는 새로운 let's encrypt SSL 인증서를 발급하고 Tomcat 웹 서버로 구성하는 데 도움이 됩니다.

전제 조건

이 튜토리얼에서는 Tomcat 설치를 다루지 않습니다. 시스템에서 이미 실행 중인 Tomcat 서버가 있다고 가정합니다. Tomcat installation tutorials를 방문할 수 있습니다.

1단계 – Certbot 설치

Certbot은 Let's Encrypt SSL 인증서를 생성하고 관리하는 명령줄 유틸리티입니다. 대부분의 운영 체제에서 사용할 수 있습니다.Debian 기반 사용자는 다음 명령을 실행하여 certbot을 설치할 수 있습니다. 다른 운영 체제 사용자는 here 에서 설치할 수 있습니다.
sudo apt install certbot 
다음으로 도메인에 대한 SSL 인증서를 만듭니다. 도메인이 이미 DNS에서 tomcat 서버를 가리키고 있는지 확인하십시오. 이 자습서에서는 tomcat..net 하위 도메인을 사용하고 있습니다.
sudo certbot certonly --standalone -d tomcat..net 
인증서가 발급되면 아래 위치에서 모든 관련 파일을 볼 수 있습니다.
sudo ls /etc/letsencrypt/live/tomcat..net/ 
Output
cert.pem chain.pem fullchain.pem privkey.pem README
SSL 인증서 설정에 필요한 모든 파일입니다.

2단계 – Let's Encrypt SSL을 사용하여 Tomcat 구성

다음으로 보안 프로토콜을 수신하도록 Tomcat 서버를 구성합니다. 기본적으로 Tomcat은 8443을 사용하여 SSL/TLS 요청을 수신합니다. SSL 인증서 및 개인 키 파일을/opt/tomcat/conf 디렉토리에 복사합니다.
cd /etc/letsencrypt/live/tomcat..net 
sudo cp {cert,chain,privkey}.pem /opt/tomcat/conf/ 
그런 다음 Tomcat 홈 디렉토리에서 사용 가능한 conf/server.xml 파일을 편집합니다. 제 경우 Tomcat은/opt/tomcat 아래에 설치되었으므로 아래 명령을 사용하여 구성 파일을 편집합니다.
sudo nano /opt/tomcat/conf/server.xml 
구성 파일에서 다음 섹션의 주석 처리를 제거하려면 <!---->를 제거하십시오. 또한 인증서 파일과 함께 인증서 섹션을 추가하십시오. 구성은 다음과 같습니다.
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateFile="conf/cert.pem"
                 certificateKeyFile="conf/privkey.pem"
                 certificateChainFile="conf/chain.pem" />
        </SSLHostConfig>
    </Connector>
CTRL+O를 눌러 변경 사항을 저장하고 CTRL+X를 눌러 편집기를 종료합니다. 이제 Tomcat 서비스를 다시 시작하여 변경 사항을 적용합니다.
sudo systemctl restart tomcat 
그게 다야. Let's Encrypt SSL with Tomcat을 구성했습니다. 다음 단계는 설정을 확인하는 것입니다.

3단계 – Tomcat SSL 인증서 확인

SSL이 있는 기본 바람둥이는 8443 포트에서 수신 대기합니다. 보안 소켓 계층을 통해 Tomcat에 액세스하려면 8443 포트가 있는 도메인을 사용하십시오.
  • https://tomcat..net:8443
  • 그렇군요. Tomcat을 사용하여 Let's Encrypt SSL을 성공적으로 구성했습니다.

    4단계 – SSL 인증서 갱신

    기본 Let's Encrypt SSL 인증서는 90일 후에 만료됩니다. 만료 후 30일 이내에 언제든지 SSL 인증서를 쉽게 새로 고칠 수 있습니다. SSL 인증서를 새로 고치려면 아래 명령을 입력하십시오.
    certbot certonly --standalone -d tomcat..net 
    
    성공적으로 갱신되었습니다. 새로 생성된 인증서 파일을 Tomcat conf 디렉토리에 복사합니다.
    cd /etc/letsencrypt/live/tomcat..net 
    cp {cert,chain,privkey}.pem /opt/tomcat/conf 
    
    Tomcat 서비스를 다시 시작하여 변경 사항을 적용하십시오.
    sudo systemctl restart tomcat 
    

    결론

    이 튜토리얼에서는 Tomcat 웹 서버로 Let's Encrypt SSL 인증서를 설정하는 방법을 배웠습니다. 또한 SSL 인증서를 갱신하는 단계를 제공합니다.