1 minute read

개요

요약
💡 SSL 추가로 인해 로드밸런싱 설정이 추가되어짐 ex) https 의 로드밸런싱
💡 정리할겸 다시 포스팅한다.

HTTP 로드밸런싱 처리하기

가상호스트에서 처리하도록 변경한다.
💡 SSL 추가로 인해 로드밸런싱 설정이 추가되어짐 ex) https 의 로드밸런싱
💡 정리할겸 다시 포스팅한다.

STEP1. (httpd.conf) 기존 로드밸런싱 제거

# ASIS
#jkMount /* lilo_lb

# TOBE1
#JkMount /* blang_balancer
#JkUnMount /.well-known/acme-challenge/* blang_balancer
#JkUnMount /jktest/* blang_balancer
# [23.08.15] vhost 에서처리하도록 변경.

설명
💡 기존 전역설정파일에 로드밸런싱을 제거했다.

STEP2. (httpd-vhosts.conf) 가상 호스트 로드밸런싱 추가

# Server1 :: www.blang.co.kr 으로 요청한경우
<VirtualHost *:9510>
    ServerAdmin layup3@naver.com
    DocumentRoot "/fswas/apache/httpd/httpd-2.4.541/htdocs"
    ServerName www.blang.co.kr
    ErrorLog "/fswaslog/apache/dbd/error_log"
    CustomLog "/fswaslog/apache/dbd/error_log" common

     RewriteEngine On
     RewriteCond %{HTTPS} off
     RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

     JkMount /* blang_balancer
     JkUnMount /jktest/* blang_balancer

</VirtualHost>


# Server2 :: blang.co.kr 으로 요청한경우
<VirtualHost *:9510>
    ServerAdmin layup3@naver.com
    ServerName blang.co.kr
    ErrorLog "/fswaslog/apache/dbd/error_log"
    CustomLog "/fswaslog/apache/dbd/error_log" common

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}

    JkMount /* blang_balancer
    JkUnMount /jktest/* blang_balancer

</VirtualHost>

설명
💡 각각 추가해줬다.
💡 이제 http 요청이 오면 이곳에서 로드밸런싱 설정을 호출한다.

HTTP 로드밸런싱 web서버 정적파일 제외하기

STEP1. (httpd-vhosts.conf) 가상 호스트에 패턴추가

<VirtualHost *:9510>
    ServerAdmin layup3@naver.com
    ServerName blang.co.kr
    ErrorLog "/fswaslog/apache/dbd/error_log"
    CustomLog "/fswaslog/apache/dbd/error_log" common

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/jktest/.*
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}

    JkMount /* blang_balancer
    JkUnMount /jktest/* blang_balancer

</VirtualHost>

설명

RewriteCond %{REQUEST_URI} !^/jktest/.*

💡 http 요청에 대해 특정 패턴이 들어오면 https 측으로 요청을 수행하지않는다.
💡 즉, /jktest 요청이오면 ssl을 수행하지 않는다.

HTTPS(SSL) 로드밸런싱 처리하기

STEP2. (httpd-ssl.conf) ssl 로드밸런싱 추가

 요약내용
 <VirtualHost _default_:443>

     # 기본정보
     DocumentRoot "/fswas/apache/httpd/httpd-2.4.541/htdocs"
     ServerName www.blang.co.kr
     ServerAdmin layup3@naver.com
     ErrorLog "/fswas/apache/httpd/httpd-2.4.541/logs/error_log"
     TransferLog "/fswas/apache/httpd/httpd-2.4.541/logs/access_log"

     # SSL 엔진
     SSLEngine on

     # SSL 인증서
     SSLCertificateFile "/etc/letsencrypt/live/www.blang.co.kr/cert.pem"
     SSLCertificateKeyFile "/etc/letsencrypt/live/www.blang.co.kr/privkey.pem"
     SSLCACertificateFile "/etc/letsencrypt/live/www.blang.co.kr/chain.pem"

     # SSL 로드밸런싱처리(이부분 있어야 WAS측 https접속가능)
     JkMount /* blang_balancer
     # JkUnMount /jktest/* blang_balancer  // SSL은 의미없음

 </VirtualHost>


설명
💡 이미 적용된 내용인데 다시한번 작성했다.
💡 최하단에 SSLh(https) 요청이오면 로드밸런싱이 작동하도록 설정했다.

과정
💡 1. 사용자 요청
💡 2. httpd-vhosts.conf 에서 https 붙여서 리다이렉트
💡 3. httpd-ssl.conf 파일이 수행되고 로드밸런싱 설정을 수행

Leave a comment