Linux 톰캣 관련 포스팅 목록
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
2021.12.04 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어로 P12 파일 생성하기(keytool p12)
2021.12.05 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - P12 파일로 PEM 파일 생성하기(keytool pem)
2020.07.15 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port)
2020.07.13 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 설치(Ubuntu, Tomcat, Install)
톰캣8 HTTPS 적용하기(키스토어 사용)
안녕하세요.
오늘은 이전 포스팅에서 주구장창 다뤘던 키스토어(jks) 파일을 사용하여 HTTPS 서버 구성하는 방법에 대해 알아보도록 하겠습니다. 다시 간단하게 HTTPS에 대해 설명드리겠습니다.
HTTP는 평문의 웹 통신 프로토콜이라면 HTTPS는 HTTP + SSL 즉, 암호화 통신 기능이 추가된 프로토콜을 의미합니다. 이 암호화 통신에는 A, B 대화 당사자의 개인키, 공개키로의 메시지 암복호화가 진행되며 이걸 PKI 라고 합니다.
특히 SSL 인증서에는 클라이언트가 접속하려는 서버의 정보들이 적힌 인증 문서입니다. 클라이언트는 이 인증 문서를 받고 실제 자신이 접속하고 있는 웹 사이트가 인증서에 들어있는 서버와 동일한지 여부를 알 수 있습니다. 만약 중간에서 공격자가 자신의 가짜 인증서로 실제 해당 서버인 것처럼 행세하려고 한다면 클라이언트는 자신이 알고 있는 원래 서버의 공개키로 증명이 가능합니다.
톰캣 서버는 HTTPS 설정이 간단합니다. 키스토어(jks) 파일만 있다면 서버 환경설정을 통해 서버를 구성할 수 있습니다.
만약 아직 톰캣 서버를 설치하지 않으셨다면 아래 포스팅을 참고해주세요.
2020.07.13 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 설치(Ubuntu, Tomcat, Install)
또한 키스토어 파일을 아직 생성하지 않으셨다면 아래 포스팅을 참고해주세요.
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
톰캣 환경설정 파일 수정
$ cd ~/apache-tomcat-8.5.73/conf/
$ vim ./server.xml
...
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" enableLookups="false" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/avmd/keystore_example/https_keystore.jks"
keystorePass="test1234" />
...
라인 설명
1: 기존 포스팅에서 다뤘던 톰캣7은 지원하지 않아 톰캣8 경로로 입력합니다.
2: conf 폴더의 server.xml 파일을 vim 명령어로 편집합니다.
3: "<Connector port=" 구문을 찾습니다. 밑에 "<Connector port="8443"" 문구로 시작하고 "/>" 구문까지 추가합니다. 이때 keystoreFile 옵션의 경로는 이전 포스팅에서 생성한 jks 파일의 경로를 입력합니다. 또한 keystorePass 비밀번호도 그때 입력한 비밀번호를 입력합니다.
서버 재구동 및 접속 테스트
$ cd ~/apache-tomcat-8.5.73/bin
$ ./shutdown.sh
$ ./startup.sh
라인 설명
2: 혹시 현재 서버가 실행중 상태일 수 있기 때문에 먼저 종료합니다.
3: 서버를 재시작합니다.
크롬 또는 인터넷 익스플로러 등 브라우저 프로그램을 실행하여 URL 창에 "https://localhost:8443/" 을 입력하여 접속합니다. 이후 아래와 같이 HTTPS 페이지로 접속되는지 확인합니다. 이때 경고 메시지는 신뢰할 수 있는 인증기관으로부터 발급받은 인증서가 아니기 때문에 나타나는 메시지이기 때문에 무시합니다.
마무리
오늘은 톰캣 8 서버에 HTTPS 를 적용하는 방법에 대해 알아보았습니다.
키스토어 파일만 생성하였다면 적용하는 데는 큰 어려움은 없었습니다.
관련 글
Linux 톰캣 관련 포스팅 목록
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
2021.12.04 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어로 P12 파일 생성하기(keytool p12)
2021.12.05 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - P12 파일로 PEM 파일 생성하기(keytool pem)
2020.07.15 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port)
2020.07.13 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 설치(Ubuntu, Tomcat, Install)