본문 바로가기

SW Dev Portfolio

🔹 유료 SSL 인증서 설정 및 적용 방법 (Apache Tomcat 기준)

반응형

유료 SSL 인증서는 일반적으로 DigiCert, GlobalSign, Sectigo(구 Comodo), GoDaddy 같은 인증 기관(CA)에서 발급받으며, 이를 Tomcat에 적용하는 과정은 다음과 같습니다.

 

📌 1. 기존 SSL 인증서 확인 및 새로운 도메인용 SSL 발급

✅ 1) 기존 인증서 확인

먼저 기존 인증서가 어떻게 적용되어 있는지 확인해야 합니다.

🔍 확인 방법:

1. Tomcat server.xml에서 SSL 설정 확인

cat /opt/tomcat/conf/server.xml | grep SSLCertificate

혹은

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateFile="/etc/ssl/certs/old_domain.crt"
                     certificateKeyFile="/etc/ssl/private/old_domain.key"
                     certificateChainFile="/etc/ssl/certs/old_domain_chain.crt" />
    </SSLHostConfig>
</Connector>

위 설정이 있다면 기존 인증서 파일 위치를 확인하세요.

✅ 2) 새로운 도메인용 SSL 인증서 발급

유료 SSL 인증서를 새 도메인으로 발급받아야 합니다.
새로운 도메인(새로운도메인.com)에 대해 SSL을 적용하려면 CSR (Certificate Signing Request) 파일을 생성해야 합니다.

📌 2. SSL 인증서 발급 과정

✅ 1) 키(Key) & CSR 파일 생성

Tomcat에서 사용하기 위해 Java KeyStore (JKS) 또는 PKCS#12(PFX) 형식으로 생성하는 방법이 있습니다.

📍 1. OpenSSL을 이용한 CSR 생성 (권장)

openssl req -new -newkey rsa:2048 -nodes -keyout 새로운도메인.key -out 새로운도메인.csr

 

  • 새로운도메인.key: Private Key 파일
  • 새로운도메인.csr: CSR 파일

입력 예시 (CSR 생성 중)

Country Name (2 letter code) [XX]: KR
State or Province Name (full name) []: Seoul
Locality Name (e.g., city) [Default City]: Gangnam-gu
Organization Name (e.g., company) [Default Company Ltd]: Example Corp.
Organizational Unit Name (e.g., section) []: IT Department
Common Name (e.g., your name or your server's hostname) []: 새로운도메인.com
Email Address []: admin@새로운도메인.com

 

  • Common Name (CN) → 새로운도메인.com 입력 (이 도메인에 대한 인증서 발급)

.csr 파일이 생성되면, SSL 인증 기관(CA)에 제출하여 인증서를 발급받습니다.
(예: DigiCert, GlobalSign, Sectigo 등)

📌 3. SSL 인증서 설치

✅ 1) 발급받은 SSL 파일 구성

인증 기관(CA)에서 SSL을 발급받으면, 보통 아래 파일들을 제공합니다.

  • 새로운도메인.crt → SSL 인증서
  • 새로운도메인.key → Private Key (기존 생성된 키 사용)
  • 새로운도메인_chain.crt 또는 ca_bundle.crt → CA 중간 인증서 (Chain 인증서)

✅ 2) Tomcat server.xml 수정 (PEM 기반 인증서 적용)

Tomcat은 기본적으로 JKS(Java Keystore)를 사용하지만, OpenSSL PEM 형식(.crt, .key)도 지원합니다.

📍 Tomcat server.xml 수정

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="200" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateFile="/etc/ssl/certs/새로운도메인.crt"
                     certificateKeyFile="/etc/ssl/private/새로운도메인.key"
                     certificateChainFile="/etc/ssl/certs/새로운도메인_chain.crt" />
    </SSLHostConfig>
</Connector>

📌 주요 설정

  • certificateFile → 새 도메인의 SSL 인증서 경로
  • certificateKeyFile → Private Key 파일 경로
  • certificateChainFile → 중간(Chain) 인증서 경로

📌 4. Tomcat SSL 적용 테스트

✅ 1) Tomcat 재시작

sudo systemctl restart tomcat

or

/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/startup.sh

✅ 2) SSL 정상 동작 여부 확인

  1. 웹 브라우저에서 확인
  2. SSL 인증서 정보 확인
openssl s_client -connect 새로운도메인.com:443 -showcerts
  • 출력된 정보에서 CN=새로운도메인.com 확인

✅ 정리: 유료 SSL 설정 단계

1️⃣ 기존 SSL 인증서 확인 (server.xml)
2️⃣ 새 도메인용 SSL 인증서 발급 (CSR 생성 후 인증 기관에 제출)
3️⃣ 인증서 설치 (.crt, .key, ca_bundle.crt)
4️⃣ Tomcat server.xml 수정 및 적용
5️⃣ Tomcat 재시작 및 테스트 (https://새로운도메인.com)
6️⃣ SSL 만료일 관리 및 갱신 (정기 확인)

반응형