HAProxy 란?
HAProxy 는 기존의 하드웨어 스위치를 대체하는 소프트웨어 로드 밸런서로 네트워크 스위치에서 제공하는 L4, L7 기능 및 로드 밸런서 기능을 제공한다. HAProxy 는 설치가 쉽고, 또한 환경 설정도 어렵지 않으며 서비스 이중화를 빠르게 구성하고 싶다면 HAProxy 를 추천한다.
HAProxy 동작 방식
HAProxy는 기본적으로 reverse proxy 형태로 동작한다. 우리가 브라우저에서 사용하는 Proxy 는 클라이언트 앞에서 처리하는 기능으로 Forward Proxy 라 한다. reverse proxy의 역할을 간단하게 설명하면, 실제 서버 요청에 대해서 서버 앞 단에 존재하면서, 서버로 들어오는 요청을 대신 받아서 서버에 전달하고 요청한 곳에 그 결과를 다시 전달하는 것이다.
1. 최초 접근시 서버에 요청 전달
2. 응답시 쿠키에 서버 정보 추가후 반환
3. 재요청시 proxy 에서 쿠키 정보 확인 > 최초 요청 서버로 전달
4. 다시 접근시 쿠키 추가 없이 전달 > 클라이언트에 쿠키 정보가 계속 존재함
Haproxy 설정 구조
우선 haproxy 에서는 frontend 와 backend 로 나뉘어 있다.
frontend : 클라이언트와 HAProxy 서버 간의 연결 설정
backend : haproxy 와 실제 서버 간의 연결 설정

frontend http // frontend 이름
bind :80 // 포트 설정
default_backend http // 기본 backend로 http 를 설정한다.
backend 설정
backend http // backend 이름
server a-s 192.168.0.2:80 check // 아이피 상태 체크 포트 80
server a-s2 192.168.0.3:80 check // 아이피 상태 체크 포트 80
https 같은 경우는
ssl 인증 때문에
bind :443 ssl crt /etc/ssl/intra.pem
즉 클라이언트와 HAProxy 서버 간의 연결 설정에 인증서가 필요하다.
server a-s 192.168.0.2:443 check ssl ca-file /etc/ssl/cacert.pem
이것도 마찬가지