본문 바로가기

Linux

Proxy 서버

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에서 접속된 트래픽을 전달할 프록시 서버에 대한 설정

 

 


prooxy server 동작 구성도

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

 

1번 CentOS7 /var/www/html/index.html

명확한 확인을 위해 2번은 TWO, 3번은 THREE처럼 각 웹페이지 마다 번호로 표시해 준다

 

/etc/haproxy/haproxy.cfg

Client가 80번 port에 연결될  있도록 frontend를 80번으로 수정해 주고

client로부터 들어온 요청을 연결해 줄 서버를 명시해 준다

프록시 서버(4번 CentOS7)에 http(80/tcp) 방화벽을 열어 준다

 

/var/named/rwj.zone

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