[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 |
댓글