본문 바로가기
IT Knowledge/HAProxy

HAProxy with SSL Termination / SSL Pass-Through

by Seok. 2023. 8. 10.
반응형

[HAProxy with SSL Termination]

/etc/haproxy/haproxy.cfg 예시

...

frontend localhost                                               # http, https connection 모두 허용

    bind *:80

    bind *:443 ssl crt /etc/haproxy/ssl/cert.pem    # SSL Termination 수행

    redirect scheme https if !{ ssl_fc }                   # http 요청시 https로 redirect 하기 위한 설정

    mode http

    default_backend nodes

 

backend nodes                                                     # backend server http request 전달

    mode http

    balance roundrobin

    option forwardfor

    server web01 172.17.0.1:8080 check fall 3 rise 2                # health check 후 3번 실패 시 제외, 2번 성공 시 LB 대상에 포함

    server web02 172.17.0.2:8080 check fall 3 rise 2

    server web03 172.17.0.3:8080 check fall 3 rise 2

    http-request set-header X-Forwarded-Port %[dst_port]            # backend server에 request 전달 시 port 정보 함께 전달

    http-request add-header X-Forwarded-Proto https if { ssl_fc }   # backend server에 request 전달 시 protocol 정보 함께 전달

 


 

[HAProxy with SSL Pass-Through]

/etc/haproxy/haproxy.cfg 예시

...

defaults

    mode                    tcp                                    # 인스턴스가 처리할 프로토콜

    log                     global

    option                  tcplog                                 # tcp 로그 포맷 사용

    option                  dontlognull                         # null connection(health check용 connection)에 대한 로깅 활성화

    timeout connect         10s

    timeout client          30s                                 # client와의 연결 최대 유지 시간

    timeout server          30s                                # server와의 연결 최대 유지 시간

 

frontend https_in                                                # https connection만 허용

    mode tcp                                                        # proxying의 기능 수행만을 위해 tcp 모드로 설정

    bind *:443

    option tcplog

    default_backend backend_servers

 

backend backend_servers                                  # backend에서 ssl termination을 수행하도록 함

    mode tcp                                                         # proxying의 기능 수행만을 위해 tcp 모드로 설정

    balance roundrobin

    option ssl-hello-chk                                         # ssl connection health check

    server web01 172.17.0.1:443 check

    server web02 172.17.0.2:443 check

반응형

'IT Knowledge > HAProxy' 카테고리의 다른 글

HAProxy nbproc 설정 적용  (33) 2023.08.23
Testing Your HAProxy Config  (2) 2023.08.10
Customize HAProxy Log format(Mode TCP / HTTP)  (0) 2023.08.10
HAProxy Log 설정하기!  (2) 2022.05.17
keepalived 설정 파일 옵션 정리  (0) 2022.01.29

댓글