기본 콘텐츠로 건너뛰기

keytool 사용법

keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks  keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks  keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert  D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer  keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성  keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks  keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks  keytool -import -v -trustcacerts -alias keyAlias -file server.cer ...

Tomcat : connector

Tomcat connector에 대해 알아 본다.

1. Connector란

Tomcat은 connector interface를 제공한다. connector는 engine으로 들어 오는 요청(request)를 처리하는 역할을 한다.

connector interface를 구현하여 시스템에 특화된 protocol을 처리하도록 개발할 수 있을 것이다. Tomcat에서는 기본적으로 여러 connector를 제공한다. 대표적으로 "HTTP/1.1", "AJP/1.3", SSL 등의 protocol을 처리하는 다양한 connector를 제공한다.

server.xml

...

<Service name="Catalina">

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

...

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

...



2. ajp(Apache JServ Protocol) connector

WebServer와 연동시 사용하는 ajp connector는 WebServer로 부터의 fowarding을 처리하기 위한 connector이다. WebServer에서 주로 처리하는 정적 컨텐츠 외에 WAS에서 처리해야 할 요청을 넘길때 사용하는 protocol이다.

WebServer에서 Tomcat으로 넘기는 요청(request)를 생성하기 위해 Tomcat 진영에서는 WebServer에 모듈을 제공한다.

Apache HTTP Server의 경우는 mod_jk, Microsoft IIS는 ISAPI redirector, the iPlanet Web Server 는 NSAPI redirector.

제공하는 모듈을 WebServer에 설치 및 설정을 하면 WebServer에서 처리하는 컨텐츠 외에 Tomcat에서 처리해야할 요청에 대해서는 모듈에서 ajp protocol에 맞게 요청을 생성하여 Tomcat으로 넘긴다.

ajp는 Tomcat 외에 jetty, jboss가 지원한다.


3. 성능상 효율을 위한 ajp 사용

대부분의 WebServer는 proxy기능을 가지고 있기 때문에 굳이 ajp 모듈을 설치하지 않아도 Tomcat과 연동은 가능하나 Tomcat 진영에서는 좀더 나은 성능을 위해 ajp를 사용하도록 권고하고 있다.

하나의 서버에서 WebServer와 Tomcat를 단일로 구성한 경우는 Tomcat을 단독으로 사용하고 Tomcat의 기본 HTTP connector를 사용한 서버보다 성능이 좋지 않다고 한다. WebServer를 이용한 성능상의 효율을 원하는 경우는 ajp clurstering을 이용하라고 한다.

한마디로 서버 한대에서 단일 Apache HTTP Server + 단일 Tomcat 연동하는것 보다. Tomcat 하나만 운영하는게 더 성능이 좋다는 말이다. 비록 정적컨텐츠가 많을 지라도.

현재 ajp protocol은 13 버전을 사용하고 있다. ajp12는 deprecated 되었으며 사용해서는 안된다. ajp14는 실험적? 버전이다 라고 공식사이트에 기재되어 있다.



* 참고
http://tomcat.apache.org/tomcat-8.5-doc/connectors.html
http://tomcat.apache.org/connectors-doc/
http://www.tomcatexpert.com


댓글

이 블로그의 인기 게시물

Tomcat : JDBC JSP

JNDI를 이용하여 Database 연동을 해본다. 1. Oracle XE 설치 Oracel 11g XE를 다운받아 설치.  Download URL  사용자 까지 생성. 2. Resource 등록 %CATALINA_HOME%\conf\server.xml 파일에 DB Resource를 GlobalNamingResources에 등록. 그래야 다른 context에서 참조해서 사용할 수 있다. <GlobalNamingResources>     <!-- Editable user database that can also be used by          UserDatabaseRealm to authenticate users     -->     <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" />     <Resource name="portal.ds"             auth="Container" ...

keytool 사용법

keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks  keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks  keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert  D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore  D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer  keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성  keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks  keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks  keytool -import -v -trustcacerts -alias keyAlias -file server.cer ...

전자서명, 인증서 파일 종류 별 확장자

확장자는 그 파일의 특성이 무엇인지 쉽게 알아 보기 위해서 붙이는 것이지만, 바이너리 이진 파일에 .txt 확장자를 붙일수도 있는 것처럼 말그대로 이름일 뿐이다. 그래서 확장자 보다는 해당 파일의 실제 형식을 확인하는 것이 중요하다. .pem   PEM (Privacy Enhanced Mail)은 Base64 인코딩된 ASCII 텍스트 이다. 파일 구분 확장자로 .pem 을 주로 사용한다.  노트패드에서 열기/수정도 가능하다. 개인키, 서버인증서, 루트인증서, 체인인증서 및  SSL 발급 요청시 생성하는 CSR 등에 사용되는 포맷이며, 가장 광범위하고 거의 99% 대부분의 시스템에 호환되는 산업 표준 포맷이다. (대부분 텍스트 파일) .crt 거의 대부분 PEM 포맷이며, 주로 유닉스/리눅스 기반 시스템에서 인증서 파일임을 구분하기 위해서 사용되는 확장자 이다. 다른 확장자로 .cer 도 사용된다. 파일을 노트패드 등으로 바로 열어 보면 PEM 포맷인지 바이너리 포맷인지 알수 있지만 99% 는 Base64 PEM 포맷이라고 봐도 무방하다. (대부분 텍스트 파일) .cer 거의 대부분 PEM 포맷이며, 주로 Windows 기반에서 인증서 파일임을 구분하기 위해서 사용되는 확장자 이다. crt 확장자와 거의 동일한 의미이며, cer 이나 crt 확장자 모두 윈도우에서는 기본 인식되는 확장자이다. 저장할때 어떤 포맷으로 했는지에 따라 다르며, 이름 붙이기 나름이다. .csr Certificate Signing Request 의 약자이며 거의 대부분 PEM 포맷이다. SSL 발급 신청을 위해서 본 파일 내용을 인증기관 CA 에 제출하는 요청서 파일임을 구분하기 위해서 붙이는 확장자 이다. (대부분 텍스트 파일) .der Distinguished Encoding Representation (DER) 의 약자이며, 바이너리 포맷이다. 노트패드등으로 열어 봐서는 알아 볼수 없다.  바이너리 인코딩 포맷을 읽을수 있는 인증서 라이브...