Proxy
- client가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템
- server와 client 사이에 중계기로서 대리로 통신을 수행함
1. Forward proxy ( proxy server <- client)
- client가 인터넷에 직접 접근하는게 아니라 Forward proxy server가 요청을 받고 인터넷에 연결하여 결과를 client에 전달
2. Reverse proxy (server -> proxy server)
- client가 인터넷에 데이터를 요청하면 Reverse proxy가 이 요청을 받아 내부 서버에서 데이터를 받은 후 client에 전달
- client는 내부 서버에 대한 정보를 알 필요 없이 Reverse proxy에만 요청하면 됨
- 내부 서버에 직접적인 접근하게 되면 DB 에 접근이 가능하기 때문에 client와 server를 중계
- 내부 서버에 대한 설정으로 로드 밸런싱(Load Balancing) 이나 서버 확장 등에 유리함
Haproxy
- 로드 밸런싱 및 프록시 기능을 제공하는 Reverse proxy
- 정보
패키지 : haproxy
설정파일 : /etc/haproxy/haproxy.cfg
/etc/haproxy/haproxy.cfg
Global
- 전체 영역에 걸쳐서 적용되는 설정
Defaults
- Global 다음에 오는 section에 적용되는 공통 설정 내역
Frontend
- 클라이언트 연결에 관한 설정
backend
- frontend에서 접속된 트래픽을 전달할 프록시 서버에 대한 설정
CentOS7 1 ~ 3(WEB, DNS)
10.0.0. 1 ~ 3
CentOS7 4(Proxy server)
10.0.0. 11
Win10, 11 ( Client)
10.0.0. 101, 201
명확한 확인을 위해 2번은 TWO, 3번은 THREE처럼 각 웹페이지 마다 번호로 표시해 준다
Client가 80번 port에 연결될 수 있도록 frontend를 80번으로 수정해 주고
client로부터 들어온 요청을 연결해 줄 서버를 명시해 준다
프록시 서버(4번 CentOS7)에 http(80/tcp) 방화벽을 열어 준다
Client가 도메인 rwj22.xyz와 www.rwj22.xyz로 웹서버에 접속하고자 할 때
proxy 서버에 요청하도록 zone 파일을 수정한 뒤 update를 위해 serial 번호를 +1 한다
2번 3번 CentOS7에 바뀐 zone 파일 업데이트 해서 적용 시켜준 뒤 웹 접속을 해 본다
client에서 www.rwj22.xyz으로 접속 후 새로고침을 했을 때 구성한 3개의 웹 서버 페이지가
순차적으로 돌아가면서 나오는 것을 확인할 수 있었고
이를 통해 Client가 도메인으로 접속 요청을 했을 때 proxy 서버가 그 요청을 받아
웹서버(10.0.0. 1 ~ 3)으로 분배 해주는 로드밸런싱이 잘 동작하는 것을 확인할 수 있다
'Linux' 카테고리의 다른 글
DB Server 이론 정리 (0) | 2022.12.13 |
---|---|
SSH 공개키 인증 (0) | 2022.10.12 |
Sendmail & Dovecot (0) | 2022.10.11 |
NFS (0) | 2022.10.11 |
HTTP - 인증, 접근 제어 (0) | 2022.10.10 |