programming/jsp

[jsp] 아파치 웹 서버와 톰캣 연동과 https 설정

labj 2013. 2. 7. 14:23
[jsp] 아파치 웹 서버와 톰캣 연동과 https 설정

워드프레스와 톰캣을 연동하기 위한 테스트 환경 구축입니다.

하나의 서버에서 아파치와 톰캣이 구동되다 보니까 80, 443 포트를 아파치에서 점유해서

톰캣에서는 사용하지 못하는 경우가 생겼습니다.

이때의 해결책으로 AJP를 이용합니다.

 

테스트 환경
Windows XP
Apache Http Web Server 2.2
Tomcat 7

1.인증서 파일 생성

 

1) 인증서 생성

openssl이 포함된 Apache Http Web Server를 설치합니다.

워드프레스 설치 파일에 포함된 Apache Http Web Server를 이용하였는데 포함되어 있습니다.

 

2) 디렉토리 이동

C:\APM_Setup\Server\Apache\bin 이동

 

3) 파일 복사

libeay32.dll, ssleay32.dll 파일을 /windows/system32에 복사합니다.

C:\APM_Setup\Server\Apache\conf\onenssl.cnf 파일을 C:\APM_Setup\Server\Apache\bin 으로 복사합니다.

 

4) csr 파일 생성

openssl req -config openssl.cnf -new -out iclib.jobtoy.com.csr

->iclib.jobtoy.com.csr, privkey.pem 파일 생성

 

5) 개인 key 파일 생성

openssl rsa -in privkey.pem -out iclib.jobtoy.com.key

-> iclib.jobtoy.com.key 파일 생성

 

6) 인증서 파일 생성

openssl x509 -in iclib.jobtoy.com.csr -out iclib.jobtoy.com.crt -req -signkey iclib.jobtoy.com.key -days 365

-> iclib.jobtoy.com.crt 파일 생성

 

7) 생성 파일 이동

개인 key 파일(iclib.jobtoy.com.key), 인증서 파일(iclib.jobtoy.com.crt)

C:\APM_Setup\Server\Apache\conf\ssl 으로 이동시킵니다.

 

 

2. Apache Http Web Server톰캣 연동하기

 

1) C:\APM_Setup\Server\Apache\conf\include\httpd.conf 제일 아래쪽에 추가

LoadModule jk_module     modules/mod_jk.so

include conf/include/mod-jk.conf

 

2) C:\APM_Setup\Server\Apache\conf\include\mod-jk.conf 만들기

JkWorkersFile conf/include/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories

JkRequestLogFormat "%w %V %T"

JkMount /mobile/* worker1

JkMount /ICLIB_MANAGER/* worker1

 

3) C:\APM_Setup\Server\Apache\conf\include\workers.properties 만들기

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=localhost

worker.worker1.type=ajp13

 

4) 톰캣7 설정하기

 

4-1) C:\Tomcat 7.0\conf\server.xml

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

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

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

  ...

      <Host name="iclib.jobtoy.com"  appBase="C:\webapps\iclib.jobtoy.com" unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="miclib.jobtoy.com_access_log." suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

  ...

    </Engine>

 

4-2) iclib.jobtoy.com 폴더 생성

C:\Tomcat 7.0\conf\Catalina\iclib.jobtoy.com

 

4-3) C:\webapps\iclib.jobtoy.com 폴더 생성 및 mobile, ICLIB_MANAGER 웹어플리케이션 복사

 

5) 접속 테스트

 

 

3. SSL 접속 설정하기

 

1) C:\APM_Setup\Server\Apache\conf\httpd.conf 수정하기

 

1-1) sso 관련 주석 풀기

LoadModule ssl_module modules/mod_ssl.so

 

1-2) 제일 아래쪽에 추가

<IfModule mod_ssl.c>

    Include conf/extra/httpd-ssl.conf

</IfModule>

 

2) C:\APM_Setup\Server\Apache\conf\extra\httpd-ssl.conf 수정하기

<VirtualHost *:443>

#   General setup for the virtual host

DocumentRoot "C:/APM_Setup/htdocs"

ServerName iclib.jobtoy.com:443

ServerAdmin iclib@jobtoy.com

ErrorLog "C:/APM_Setup/Server/Apache/logs/ssl_error.log"

TransferLog "C:/APM_Setup/Server/Apache/logs/ssl_access.log"

SSLCertificateFile "C:/APM_Setup/Server/Apache/conf/ssl/iclib.jobtoy.com.crt"

SSLCertificateKeyFile "C:/APM_Setup/Server/Apache/conf/ssl/iclib.jobtoy.com.key"

#SSLCertificateChainFile "C:/APM_Setup/Server/Apache/conf/server-ca.crt"

JkMount /mobile/* worker1

JkMount /ICLIB_MANAGER/* worker1

</VirtualHost>                  

 

3) 테스트하기

 

 

 

[jsp] 아파치 웹 서버와 톰캣 연동과 https 설정