른록노트

[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:21

Apache서버로 Tomcat 서버 Container Load balancing 설정하는 방법과 Apache서버에서 Http → Https Redirection 방법

1. 기본설정

설치환경

Windows 10 Pro

JDK 11

다운로드 경로

간단한 설치 및 실행, 설정 설명

Apache 설치

  1. 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 설치

  1. 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 설정

  1. C:\Apache24\conf에 httpd.conf 파일을 실행하여 안에 내용 수정
    1. 문서 가장 끝에 아래 문구 입력
    include conf/mod_jk.conf
    
  2. C:\Apache24\conf에 mod_jk.conf 파일을 생성한 후 내용 수정
    1. 아래 문구 입력
    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>
    
  3. C:\Apache24\conf에 workers_jk.properties 파일을 생성한 후 내용 수정
    1. 아래 문구 입력
    # 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
    
  4. C:\Apache24\conf에 uriworkermap.properties 파일을 생성한 후 내용 수정
    1. 아래 문구 입력
    /*=node1
    

2.2 Tomcat 설정

  1. C:\tomcat-8.0.36\apache-tomcat-8.0.36\conf에 server.xml 파일을 실행하여 안에 내용 수정
    1. 아래 부분을 찾아서 아래와 같이 수정
    <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secretRequired="false"/>
    

2.3 테스트

  1. Tomcat 실행
    1. C:\tomcat-8.0.36\apache-tomcat-8.0.36\bin 에서 startup.bat 실행하기
  2. Apache 실행
    1. CMD로 C:\Apache24\bin에 와서 httpd.exe -k start
  3. Web Browser로 localhost 접속해서 Apache Tomcat/8.0.36 페이지가 뜨는지 확인
    1. (실패) 만약 페이지에 **It works!**만 나온다면 제대로 설정이 된게 아님(Apache 기본 페이지)

3. Apache서버에서 Http → Https Redirection 방법

3.1 Apache 설정

  1. C:\Apache24\conf에 httpd.conf 파일을 실행하여 안에 내용 수정
    1. 문서에서 아래 문구를 찾아서 주석 해제
    #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
    
    (#을 제거하면 주석이 해제 됌)
    
  2. C:\Apache24\conf\extra\httpd-vhosts.conf 파일을 실행하여 안에 내용 수정
    1. 문서안에 내용을 다 지우고 아래와 같이 변경
    <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만 종료한 후 다시 실행하면 됩니다.)

  1. Tomcat 실행
    1. C:\tomcat-8.0.36\apache-tomcat-8.0.36\bin 에서 startup.bat 실행하기
  2. Apache 실행
    1. CMD로 C:\Apache24\bin에 와서 httpd.exe -k start
  3. 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

https://haenny.tistory.com/202

https://cheershennah.tistory.com/157#:~:text=아파치

반응형
Comments