https를 사용하는 이유 :
보안을 위해서.
이 웹사이트가 어떤 사이트인지, 누가 만든 사이트인지, 통신이 안전한지 등의 정보를 알아야 하기 때문에 HTTPS 통신을 한다.
HTTPS/SSL 통신을 하면, 인증기관(CA)에서 해당 사이트가 누구의 소유인가, 누가 만든것인가 등의 정보를 인증해주고, 이러한 인증기관의 인증으로 안전한 사이트 접속을 하게 한다.
출처 : https://namjackson.tistory.com/25
1) 키스토어 파일 생성
1. $JAVA_HOME/bin 으로 이동
2. keystore 파일 생성
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcatkeystore
3. CSR 파일 생성
keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore tomcatkeystore
4. tomcat server.xml 수정
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="경로/tomcatkeystore"
keystorePass="비밀번호"/>
5. tomcat 재시작
참고 :
https://salguworld.tistory.com/140
https://qor3326.tistory.com/18
* 키스토어 파일이 생성된 곳에 tomcat 권한을 줬는지 확인한다. 권한이 없어서 적용 안 되는 건데 무슨 오류인지 몰라서 오래 삽질했다..
오류 메시지 :
심각 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8443]]
org.apache.catalina.LifecycleException: 프로토콜 핸들러 초기화가 실패했습니다.
Caused by: java.io.FileNotFoundException: 경로/tomcatkeystore (허가 거부)
참고 : https://okky.kr/article/834202?note=2175918
2) https 리다이렉트 설정
http 포트로 접근해도 https로 리다이렉트 되도록 설정해준다.
- tomcat web.xml 수정
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTP</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
참고 :
https://uulog.tistory.com/608
https://www.devkuma.com/docs/tomcat/http%EC%97%90%EC%84%9C-https%EB%A1%9C-%EC%9E%90%EB%8F%99-%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%ED%8A%B8-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/
'기록 > Server&Network' 카테고리의 다른 글
네트워크와 서버 (0) | 2022.06.30 |
---|---|
localhost:8080 으로 접근이 가능한 이유 (0) | 2022.06.30 |
URI vs. URL 이해 (0) | 2022.06.28 |
[Tomcat] HTTP 요청 헤더를 파싱하는 중 오류 발생 feat.톰캣 4가지 포트 (0) | 2022.06.21 |
[Tomcat] Tomcat 8.x에서 tomcat7-maven-plugin 사용해도 될까? (0) | 2022.05.23 |