른록노트
[WebServer] Apache서버로 Tomcat 서버 Container Load balancing 설정하는 방법과 Apache서버에서 Http → Https Redirection 방법 본문
Web/[WebServer]
[WebServer] Apache서버로 Tomcat 서버 Container Load balancing 설정하는 방법과 Apache서버에서 Http → Https Redirection 방법
른록 2022. 5. 20. 13:21Apache서버로 Tomcat 서버 Container Load balancing 설정하는 방법과 Apache서버에서 Http → Https Redirection 방법
1. 기본설정
설치환경
Windows 10 Pro
JDK 11
다운로드 경로
- https://www.apachelounge.com/download/ (아파치)
- https://tomcat.apache.org/ (톰캣 - 테스트 서버용)
- 아파치 버전 : [httpd-2.4.53-win64-VS16.zip](<https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.53-win64-VS16.zip>)
- mod_jk 버전 : [mod_jk-1.2.48-win64-VS16.zip](<https://www.apachelounge.com/download/VS16/modules/mod_jk-1.2.48-win64-VS16.zip>)
- tomcat 버전 : tomcat-8.0.36
간단한 설치 및 실행, 설정 설명
Apache 설치
- zip파일을 압축해제하고 나온 폴더를 C:\Apache24 로 이동하기
Apache 실행
- C:\Apache24\bin 에서 httpd.exe를 실행하기
- CMD로 C:\Apache24\bin에 와서
- httpd.exe -k start (실행)
- httpd.exe -k stop (정지)
- httpd.exe -k restart (재시작)
(아직 실행할 필요 없음)
Apache 설정
- C:\Apache24\conf에 httpd.conf 파일 변경하기
Tomcat 설치
- zip파일을 압축해제하고 나온 폴더를 C:\tomcat-8.0.36로 이동하기
Tomcat 실행
- C:\tomcat-8.0.36\apache-tomcat-8.0.36\bin 에서 shutdown.bat 실행하기
(아직 실행할 필요 없음)
2. Apache서버로 Tomcat 서버 Container Load balancing 설정하는 방법
2.1 Apache 설정
- C:\Apache24\conf에 httpd.conf 파일을 실행하여 안에 내용 수정
- 문서 가장 끝에 아래 문구 입력
include conf/mod_jk.conf
- C:\Apache24\conf에 mod_jk.conf 파일을 생성한 후 내용 수정
- 아래 문구 입력
LoadModule jk_module modules/mod_jk.so <ifModule jk_module> JkWorkersFile conf/workers_jk.properties JkMountFile conf/uriworkermap.properties JkShmFile run/mod_jk.shm JkLogFile logs/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" </ifModule>
- C:\Apache24\conf에 workers_jk.properties 파일을 생성한 후 내용 수정
- 아래 문구 입력
# worker list worker.list=node1 # [node1] /C:/tomcat-8.0.36/apache-tomcat-8.0.36 worker.node1.reference=worker.template worker.node1.host=127.0.0.1 worker.node1.port=8009 # worker 설정 worker.template.type=ajp13 worker.template.socket_connect_timeout=5000 worker.template.socket_keepalive=true worker.template.ping_mode=A worker.template.ping_timeout=10000 worker.template.connection_pool_minsize=0 worker.template.connection_pool_timeout=600 worker.template.reply_timeout=300000 worker.template.recovery_options=3
- C:\Apache24\conf에 uriworkermap.properties 파일을 생성한 후 내용 수정
- 아래 문구 입력
/*=node1
2.2 Tomcat 설정
- C:\tomcat-8.0.36\apache-tomcat-8.0.36\conf에 server.xml 파일을 실행하여 안에 내용 수정
- 아래 부분을 찾아서 아래와 같이 수정
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false"/>
2.3 테스트
- Tomcat 실행
- C:\tomcat-8.0.36\apache-tomcat-8.0.36\bin 에서 startup.bat 실행하기
- Apache 실행
- CMD로 C:\Apache24\bin에 와서 httpd.exe -k start
- Web Browser로 localhost 접속해서 Apache Tomcat/8.0.36 페이지가 뜨는지 확인
- (실패) 만약 페이지에 **It works!**만 나온다면 제대로 설정이 된게 아님(Apache 기본 페이지)
3. Apache서버에서 Http → Https Redirection 방법
3.1 Apache 설정
- C:\Apache24\conf에 httpd.conf 파일을 실행하여 안에 내용 수정
- 문서에서 아래 문구를 찾아서 주석 해제
#LoadModule rewrite_module modules/mod_rewrite.so -> LoadModule rewrite_module modules/mod_rewrite.so #Include conf/extra/httpd-vhosts.conf -> Include conf/extra/httpd-vhosts.conf (#을 제거하면 주석이 해제 됌)
- C:\Apache24\conf\extra\httpd-vhosts.conf 파일을 실행하여 안에 내용 수정
- 문서안에 내용을 다 지우고 아래와 같이 변경
<VirtualHost *:80> RewriteEngine off RewriteCond %{HTTPS} off RewriteRule "^(.*)$" https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] JkMount /* node1 </VirtualHost>
3.2 테스트
(2.3 테스트 실행 후 Tomcat을 켜놓았다면 Apache만 종료한 후 다시 실행하면 됩니다.)
- Tomcat 실행
- C:\tomcat-8.0.36\apache-tomcat-8.0.36\bin 에서 startup.bat 실행하기
- Apache 실행
- CMD로 C:\Apache24\bin에 와서 httpd.exe -k start
- Web Browser로 http://localhost 접속했을때 https://localhost로 변경되는지 확인하기
참고사이트
https://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
https://httpd.apache.org/docs/current/mod/mod_rewrite.html
https://blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=logineve&logNo=150154513667
https://s-jg.tistory.com/17?category=464222
https://goddaehee.tistory.com/77
반응형
Comments