COMPUTERS 프록시 서버 구축하기
2020.06.20 17:00
프록시 서버 구축하기
1. Proxy 서버에 대하여
Proxy는 자신을 통해서 다른 네트워크에 간접적으로 접속할 수 있도록 해주는 컴퓨터 혹은 프로그램을 가리킨다. 요청을 중계하는 일을 하는 컴퓨터 혹은 프로그램으로 이해하면 된다. 이때 중계하는 프로그램을 proxy 프로그램이라고 한다. proxy 프로그램은 서버로서 작동하기 때문에 일반적으로 proxy 서버라고 한다.

proxy는 중계 목적, 중계 위치, 중계 방법에 따라서 다양한 종류가 있다.
proxy 서버를 구축하는 이유는 다음과 같다.
- 보안 : 익명의 사용자가 서버에 직접 접근하는 것을 막는다.
- 속도 : proxy 서버는 사용자의 요청을 cache 해서, 동일한 요청이 들어오면 cache의 자원을 반환한다. 이는 서비스의 속도를 높여준다.
- ACL : 사이트 접근에 대한 접근 정책을 정의할 수 있다.
- Log/Audit : 회사내 직원의 인터넷 사용을 레포팅 할 수 있다. 반대로 인트라넷의 사용을 레포팅할 수도 있다.
- 지역 네트워크의 제한을 우회하기 위해서 : 보안상의 이유로 80번 외에는 포트를 막아 놓는 경우가 있는데, 이러한 제한을 우회해서 원하는 다른 서비스를 이용할 수 있다.
2. Proxy 종류
2.1. Forward Proxy
일반적으로 사용하는 프록시 방식이다. 프록시 서버는 클라이언트와 애플리케이션 서버 사이에 위치한다. 클라이언트가 타겟 서버인 애플리케이션에 서비스를 요청할 때, 프록시 서버로 요청을 보낸다. 그러면 프록시 서버가 타겟 서버로 요청을 중계한다.

2.2. Reverse Proxy
Reverse라는 용어 때문에 헛갈릴 수 있다. 기본적인 구성은 Forward Proxy와 동일하지만, 클라이언트는 Proxy Server 배후에 있는타겟 서버의 URL(:12)이 아닌 Proxy Server의 URL로 요청한다.
Desktop PC는 배후에 있는 mail.a.com 이 아닌 Proxy Server의 URL인 www.abc.com을 요청한다. 요청을 받은 Proxy Server는 URI에 맵핑된 애플리케이션 서버로 중계를 한다. 그러므로 애플리케이션 서버는 외부로 부터 감추어지게 되는 효과를 얻게 된다.
애플리케이션 서버의 정보가 외부로 부터 감추어진 다는 이점외에, 분산 처리 시스템을 만들 수 있다는 장점도 있다. Proxy Server이 요청을 분산하는 역할을 할 수 있기 때문이다.
2.3. Open Proxy
Open Proxy는 모든 인터넷 사용자가 액세스할 수 있는 프록시 서버다. 수백에서 수천정도의 오픈 프록시가 익명으로 운영되고 있는 것으로 알려져 있다. 오픈 프락시를 이용하면 자신의 IP를 숨길 수 있다. 중국같은 나라는 정치적인 이유로 외부 사이트 접근을 막는 경우가 있는데, 공개 프록시를 이용하면 접근할 수 있다.
3. 공개 소프트웨어를 이용한 proxy server 구축
위에 언급한 3가지 종류의 proxy server를 모두 구축해봐야 겠다. 구축 후 활용법에 대해서 고민을 해봐야지. AWS VPC 환경에서 테스트하기로 했다.
3.1. HAproxy를 이용한 Reverse proxy server 구축
흔히 볼 수 있는 프락시 서버 형태는 Reverse proxy server이다. Reverse proxy server를 이용해서 로드밸런서를 구현할 수 있기 때문이다.
클라이언트가 reverse proxy server로 요청을 보내면 proxy server는 이 요청을 내부에 있는 실제 서비스 서버에 요청을 전달한다. Proxy server에는 두 개 이상의 서비스 서버가 붙을 수 있으므로 결과적으로 요청을 분산해서 처리하는 효과를 얻을 수 있다.
Haproxy를 이용하는 주된 목적이 reverse proxy server 타입으로 작동하게 함으로써, 로드밸런싱 기능을 구현하는 것이기도 하다.
다음과 같은 환경을 구축하기로 했다.

- Haproxy 서버 인스턴스를 하나 만든다. 이 인스턴스는 EIP를 가진다. 유저는 EIP를 주소로 haproxy 서버에 요청을 보낼 수 있다.
- 두 개의 Apache 웹 서버를 만든다. 이들 웹서버는 80번 포트로 서비스한다.
- Haproxy는 유저의 요청을 두 개의 웹 서버로 분산해서 보내는 것으로 로드밸런싱 환경을 만든다. 로드밸런싱 방식으로 roundrobin을 사용했다.
[출처] https://www.joinc.co.kr/w/Site/System_management/Proxy
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 14 |
[알아봅시다][COMPUTERS] MS, 세상 뒤집을 양자 칩 공개... 수년내 AI 학습속도 100배
| 졸리운_곰 | 2025.02.20 | 279 |
| 13 |
[알아봅시다][COMPUTERS] [양자역학 100년] 양자컴은 수출 통제 전략물자…"핵심 공급망 조기 편입 시급"(중)
| 졸리운_곰 | 2025.01.02 | 240 |
| 12 |
[알아봅시다][COMPUTERS] [양자역학 100년] "삼성 위기 불러온 HBM 경쟁, 양자역학에서 비롯"(상)
| 졸리운_곰 | 2025.01.01 | 283 |
| 11 | [알아봅시다][computers] 우여곡절 끝 가동(?)…OK저축은행 차세대 가동 후폭풍 | 졸리운_곰 | 2023.10.14 | 177 |
| 10 | [알아봅시다][computers] <초점>예견된 실패 OK저축은행 차세대, 향방은 | 졸리운_곰 | 2023.10.14 | 241 |
| 9 |
[알아봅시다][IT 신기술] 베어 메탈이란? 베어메탈(bare-metal) 이란..
| 졸리운_곰 | 2021.05.03 | 269 |
| 8 |
국내 연구진 “충전없이 반영구적 사용하는 배터리 개발”
| 졸리운_곰 | 2020.07.15 | 357 |
| 7 |
원자 하나하나에 정보 담는 신개념 메모리 '저장용량 1000배로 뛴다'
| 졸리운_곰 | 2020.07.04 | 243 |
| » |
프록시 서버 구축하기
| 졸리운_곰 | 2020.06.20 | 2877 |
| 5 |
Why real neurons learn faster : 왜 실제 뇌 신경망은 더 빠른가?
| 졸리운_곰 | 2019.01.24 | 399 |
| 4 |
2018 년 미국 및 전 세계적 인터넷 동향, 분석 & 현황
| 졸리운_곰 | 2018.01.27 | 356 |
| 3 | [빅데이터란 무엇인가?] What is big data? [IBM} | 졸리운_곰 | 2015.10.13 | 662 |
| 2 |
Social Analytics 소개 및 관련 서비스 TechSensing
| 졸리운_곰 | 2014.11.18 | 656 |
| 1 |
데이터 과학이란? - 미래는 데이터를 제품화하는 회사와 개인에게 달려있다.
| 가을의 곰을... | 2013.12.11 | 2346 |

