AWS ubuntu tomcat에 https / ssl적용하는법

Woohojin·2024년 2월 20일

AWS

목록 보기
6/7

AWS EC2를 기반으로 Gabia에서 구매한 인증서를 적용했습니다.

원하는 경로에 개인 키 파일과 인증서 파일을 저장해주세요

저는 /usr/keystore 디렉토리를 만들어 진행했습니다.

개인 키 파일은 .key, 인증서 파일은 .crt 확장자로 진행했습니다.



keystore 파일을 생성하는 과정입니다.

openssl pkcs12 -export -in your_certificate.crt -inkey your_private_key.key -out your_keystore.p12 -name your_Alias_name

your_certificate.crt는 인증서 파일을

your_private_key.key는 개인 키 파일을

you_keystore.p12는 저장될 keystore 파일의 위치를

your_Alias_name은 기억할 수 있는 별칭을 지정해주시면 됩니다.

예시

openssl pkcs12 -export -in /usr/keystore/certificate.crt -inkey /usr/keystore/private.key -out /usr/keystore/projectName_keystore.p12 -name project_keystore

이후에 비밀번호를 입력해달라고 하면 사용 할 비밀번호를 적어주시면 되며 keystore 파일을 만들거냐고 물으면 Y를 입력해주시면 됩니다.

keystore 파일의 내용을 확인하고 싶다면

keytool -list -v -keystore your_keystore.p12 -storetype PKCS12

입력하시고 비밀번호 적어주시면 됩니다.

이제 tomcat server.xml에서 설정을 진행합니다.

tomcat 설정 위치는 기본을 기준으로 합니다.

tomcat 버전은 tomcat9입니다.

sudo nano /var/lib/tomcat9/conf/server.xml

server.xml파일의 내용 중 Connector 부분이 있습니다.

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="UTF-8" />

기본 설정은 port="8080"으로 되어있을텐데 저는 URL에 8080을 지우고 http 기본포트로 진행하기위해 80으로 진행합니다.

해당 Connector 설정 밑에

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
       maxThreads="150" scheme="https" secure="true" clientAuth="false"
       sslProtocol="TLS" SSLEnabled="true" keystoreType="PKCS12"
       keystoreFile="Your_Keystore_file"
       keystorePass="Your_Keystore_Password" />

추가하셔서 keystoreFile과 keystorePass 부분을 변경해주시면 됩니다.

중요한 부분은 port="80" 부분의 Connector 설정 중에 redirectPort="8443으로 추가하는 Connector는 port를 "443"으로 진행하시면 됩니다.

이제 읽기 권한을 부여하겠습니다.

sudo chown tomcat:tomcat /usr/keystore/your_keystore_file.p12
sudo chmod 400 /usr/keystore/your_keystore_file.p12

읽기 권한을 부여하지 않을시 tomcat 실행 시에 permission error로 ssl 인증 과정이 진행이 되지 않습니다.

이제 tomcat을 재시작 하면 정상 작동 시에 https로 접속 가능합니다.

sudo systemctl restart tomcat9

혹시나 정상작동을 하지 않는다면

tail -f /var/lib/tomcat9/logs/catalina.out

재시작 직후 위의 명령어 입력시 처음부터 로그를 확인 할 수 있습니다.

profile
인생을 컴퓨터와 함께

0개의 댓글