localhost tomcat ssl 적용
Posted by Albert 2570Day 3Hour 53Min 30Sec ago [2018-04-07]
이번 facebook OAuth 로그인 테스트 시 리턴 url이 ssl인증되지않은 경로일시
페이스북설정에 경로를 추가할 수 없는사항으로 로컬상 ssl 설정해보기로 했다.
우선 cmd 창을 켜고
1. cd %JAVA_HOME%/bin // jdk bin 폴더로 이동
2. keytool -genkey -alias tomcat -keyalg RSA
// ssl관련 키를 생성한다. 생성한 키는 C:\Users\사용자 폴더 밑에 .keystore 파일로 저장된다.
(생성시 이름과성,조직, 구/군/시/ 비밀번호등은 자신이 원하는대로 생성하면된다.)
3. Tomcat 폴더의 Server.xml
<!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> -->
부분을 찾아 주석해제후 아래처럼 변경한다. (키스토어 경로와 비밀번호는 생성시 비밀번호 및 키스토어가 저장된 위치경로를 입력)
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="8443" keystoreFile="/Users/loiane/.keystore" keystorePass="password" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" />
4. 웹프로젝트의 web.xml 파일에서 아래 항목을 추가해준다.
<security-constraint> <web-resource-collection> <web-resource-name>securedapp</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
추가후 템캣 재부팅후 시작하면 ssl이 잘 적용된것을 확인할수 있다.
참고원문: https://dzone.com/articles/setting-ssl-tomcat-5-minutes