오늘은 톰캣에서 SSL을 설정해 보도록 하겠다.

환경
  1. OS : CentOS 6.4 / x86_84
  2. JDK : OpenJDK 1.7
  3. Web Server : Tomcat 7.0.37



★ 키스토어 생성



리눅스 커맨드쉘에서 다음과 같이 입력한다. 유효기간은 10년이다.

keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore tomcat.keystore


그러면 질문이 주르륵 나오는데 적당히 입력한다. 질문의 정보에 아래와 같이 한글로 입력하지 말고 본인의 것으로 입력한다. 이것은 단지 예시이다.

[root@localhost ~]$ keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore tomcat.keystore
키 저장소 비밀번호 입력:
새 비밀번호 다시 입력:
이름과 성을 입력하십시오.
  [Unknown]:  도메인 입력
조직 단위 이름을 입력하십시오.
  [Unknown]:  부서 입력
조직 이름을 입력하십시오.
  [Unknown]:  부서 입력
구/군/시 이름을 입력하십시오?
  [Unknown]:  구 입력
시/도 이름을 입력하십시오.
  [Unknown]:  도시 입력
이 조직의 두 자리 국가 코드를 입력하십시오.
  [Unknown]:  KR
CN=도메인, OU=부서, O=부서, L=구, ST=도시, C=KR이(가) 맞습니까?
  [아니오]:  y

<tomcat>에 대한 키 비밀번호를 입력하십시오.
        (키 저장소 비밀번호와 동일한 경우 Enter 키를 누름):
[root@localhost ~]$


이렇게 하면 자신의 홈 디렉토리에 [tomcat.keystore] 라는 파일이 생성된다. ls 명령으로 확인해 보면 가능하다.

ls -al ~



★ 톰캣 설정



$CATALINA_HOME/conf/server.xml 을 vi 편집기로 열어 다음 부분을 찾아 주석을 풀어주고 볼드체의 항목을 추가한다. 기본으로는 주석으로 막혀있다. 패스워드는 위에서 생성한 키 비밀번호를 입력한다.

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="${user.home}/tomcat.keystore" keystorePass="패스워드"/>



★ 방화벽 해제



SSL은 기본적으로 8443 포트를 사용하기 때문에 방화벽을 풀어준다.



★ 접속 확인



톰캣을 기동하고 톰캣서버 8443 포트로 https로 접근이 가능한지 확인해 본다. 인증서 경고가 나오면 성공적으로 설정된 것이다.

브라우저에서 http://서버IP:8443 입력



저작자 표시 비영리 변경 금지
신고
Posted by Life 스토리
TAG ,