- SSL 인증서 발급
cd C:/OpenSSL/bin
openssl.exe
2. 개인키 발급
genrsa -des3 -out private.key 2048
3. 공개키 발급
rsa -in private.key -pubout -out public.key
4. CSR 인증 요청서 만들기
만약 openssl을 C바로 밑에 설치 하지 않으면 unable ...~~ 에러가 나올텐데 그럴땐 두번째줄을 실행하면 된다.
req -new -key private.key -out private.csr
req -config D:\openssl경로\openssl.cnf -new -key private.key -out private.csr
그리고 인증서 신청서를 작성한다(국가코드, 도시, 회사명 등)
5. 인증서 만들기(CRT)
req -x509 -days 365 -key private.key -in private.csr -out mycrt.crt -days 365
6. pkcs12로 변경
pkcs12 -export -in mycrt.crt -inkey private.key -out .keystore -name tomcat
7. tomcat이 설치된 경로(ex: C:/tomcat/tomcat8/...)로 가서 tomcat/config 에서 server.xml 다음 내용 추가
해당코드는 <Service> 태그 안에 입력해야한다.
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThread="150" scheme="https" secure="true"
keystoreFile="키파일 위치" keystorePass="개인키 비밀번호"
clientAuth="false" sslProtocol="TLS" URIEncoding="utf-8" />
8. WEB-INF/web.xml 다음 내용 추가 (http로 들어왔을 때 https로 리다이렉션)
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL Forward</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
9. 이클립스나 STS에서 서버 포트를 확인한다.
SSL이 추가되지 않았다면 툴을 재시작해보거나 그래도 안 되면 서버를 다시 등록해준다.
정식 인증을 받지 않고 https를 사용하지 않으면 '주의 요함'이 표시된다. 돈 주고 도메인을 사서 정식으로 등록하면 제대로 사용할 수 있다.
11. 톰캣의 server.xml 전문
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener
className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener
className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
<Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThread="150" scheme="https" secure="true"
keystoreFile="키파일 경로" keystorePass="개인키 비밀번호" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
clientAuth="false" sslProtocol="TLS" URIEncoding="utf-8" />
<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase" />
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true"
autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
참고링크
'Server > Server ETC' 카테고리의 다른 글
[TigerVNC] 회색화면나올때 해결법 (0) | 2022.01.05 |
---|---|
[Server] VNC 실행을 위한 명령어 (0) | 2021.12.28 |
[Tip] 개인프로젝트 서버 오픈을 위한 포트포워딩 (0) | 2021.12.18 |
고정IP 설정 (0) | 2021.12.17 |
[Windows] 톰캣 포트 죽이기 (0) | 2021.08.09 |
댓글