[구성도]
1. HAProxy HTTP LB
1.1) HAProxy 설치
yum -y install haproxy
- HAProxy를 설치한다.
1.2) HAProxy 구성
vi /etc/haproxy/haproxy.cfg
- 아래의 설정값을 그대로 입력한다. 기존의 cfg에서 LB에 필요한 부분만 구성되었다. 최하단에 Backend Server의 IP와 Port 번호를 입력한다.
# create new
global
# for logging section
log 127.0.0.1 local2 info
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
# max per-process number of connections
maxconn 256
# process' user and group
user haproxy
group haproxy
# makes the process fork into background
daemon
defaults
# running mode
mode http
# use global settings
log global
# get HTTP request log
option httplog
# timeout if backends do not reply
timeout connect 10s
# timeout on client side
timeout client 30s
# timeout on server side
timeout server 30s
# define frontend ( set any name for "http-in" section )
frontend http-in
# listen 80
bind *:80
# set default backend
default_backend backend_servers
# send X-Forwarded-For header
option forwardfor
# define backend
backend backend_servers
# balance with roundrobin
balance roundrobin
# define backend servers
server www01 192.168.1.128:80 check
server www02 192.168.1.129:80 check
1.3) HAProxy LB 확인
- 다음과 같이 HAProxy IP를 웹 브라우저에 입력하면, Roundrobin 방식으로 Web Server으로의 요청과 응답을 받을 수 있다.
2. HAProxy HTTPS LB
2.1) SSL 인증서 생성
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/haproxy.pem -out /etc/pki/tls/certs/haproxy.pem -days 365
- HTTPS 접속을 위한 인증서를 생성한다.
[CentOS] SSL/TLS 인증서를 적용한 Web Site 구축하기 기초 [OpenSSL / CSR / Self-Signed Certificate]
chmod 600 haproxy.pem
- root만 사용할 수 있도록 권한을 변경한다.
2.2) HAProxy 파일 수정
vi /etc/haproxy/haproxy.cfg
- 아래의 설정을 HAProxy 설정 파일에 추가한다.
tune.ssl.default-dh-param 2048
bind *:443 ssl crt /etc/pki/tls/certs/haproxy.pem
2.3) HAProxy LB 확인
- 다음과 같이, HTTPS로 접속한 뒤에 LB가 정상적으로 동작하는 것을 확인할 수 있다.
2.4) HAProxy HTTP LB 사용 X
- frontend에 있는 bind 값을 수정하면 된다.
3. HAProxy HTTPS + DNS
3.1) DNS 설정
- DNS Server에서 HAProxy Server 에 대한 A Record를 추가한다.
3.2) HAProxy LB 확인
- 다음과 같이, DNS 서비스까지 적용하여 LB가 동작하는 것을 확인할 수 있다.
참고: https://www.server-world.info/en/note?os=CentOS_7&p=haproxy&f=1
'IT > ㄴ Linux' 카테고리의 다른 글
[CentOS] Linux HAProxy HA 구성하기 [HA Auth 방식 변경 / keepalived.conf] (0) | 2023.09.12 |
---|---|
[CentOS] Linux HAProxy 통계 확인 및 L4 LB 하기 [mariaDB] (0) | 2023.09.11 |
[CentOS] Linux SNMP 사용하기 [SNMP Tester / PRTG] (0) | 2023.09.07 |
[CentOS] Linux _default/Domain/IN: bad zone 오류 해결하기 [DNS / A Record] (0) | 2023.08.29 |
[CentOS] Linux Wordpress 구축하기 [APM 설치] (0) | 2023.08.24 |