728x90
Proxy란?
- Proxy란 ‘대리’라는 의미로, 클라이언트와 서버 간의 통신을 중계하는 중간 매개체를 말한다.
- 중계 기능을 수행하는 주체가 바로 Proxy Server이다.
- Proxy Server는 클라이언트와 서버 사이에 위치하여 클라이언트의 요청을 받아서 서버로 전달하고, 서버의 응답을 받아서 클라이언트에게 전달한다.
- Client <-> Proxy Server <-> Server

Proxy를 사용하는 이유
- 보안 : 프록시를 통해 클라이언트나 내부 서버의 실제 IP 주소를 숨길 수 있어, 보안을 향상시키고 개인 정보를 보호할 수 있다.
- 접속 우회 : 프록시를 사용하여 클라이언트의 실제 위치를 숨겨 다른 위치에서 접속한 것처럼 우회할 수 있다.
- 로드 밸런싱 : 트래픽을 여러 서버로 분산하여 가용성을 향상시킬 수 있다.
- 캐싱 : 이전에 검색한 콘텐츠를 저장하여 클라이언트에게 제공함으로써 응답 시간을 개선할 수 있다.
Proxy 종류
1. Forward Proxy
- 목적 : 클라이언트를 대신하여 외부 서버에 접근하는 역할
- 위치 : 클라이언트 앞
- Proxy 서버 통신 대상 : Client <-> Proxy Server
- 감춰지는 대상 : 클라이언트 정보
- 동작 : 클라이언트는 포워드 프록시를 통해 외부 서버에 요청을 보냄 -> 포워드 프록시는 클라이언트를 대신하여 외부 서버에 연결 -> 서버로부터 응답을 받으면 포워드 프록시는 클라이언트에게 전달

2. Reverse Proxy
- 목적 : 서버를 대신하여 클라이언트의 요청을 받아 처리하고, 결과를 클라이언트에게 전달해주는 역할
- 위치 : 내부망 서버 앞
- Proxy 서버 통신 대상 : Proxy Server <-> 내부 서버
- 감춰지는 대상 : 내부 서버 정보
- 동작 : 클라이언트는 리버스 프록시에게 요청을 보냄 -> 리버스 프록시는 로드 밸런싱, SSL 암호화, 캐싱 등의 기능을 수행한 후, 요청을 전달 -> 서버는 응답을 리버스 프록시로 보내고, 리버스 프록시는 클라이언트에게 응답을 전달

설정 방법
1. Proxy 설정
httpd.conf 파일에서 ProxyPass와 ProxyPassReverse 지시어를 사용하여 프록시를 설정한다.
ProxyRequests On
ProxyPass /test/ http://test.server.com/
ProxyPassReverse /test/ http://test.server.com/
추가로 문서(HTML 등) 내의 URL은 프록시를 통해 전달될 때 변경되지 않으므로, 문서 내의 링크는 절대 경로가 아닌 상대 경로로 작성해야 한다.
2. 로드밸런싱 설정
mod_proxy_balancer를 사용하여 로드 밸런싱 클러스터를 생성한다. 아래의 예처럼 설정하면 /application URL에 대한 요청이 오면 mycluster에 정의된 두 서버로 부하가 분산된다.
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.50:80
BalancerMember http://192.168.1.51:80
</Proxy>
ProxyPass /application balancer://mycluster/
특정 서버가 두 배의 트래픽을 수용하도록 지정할 수도 있다.
BalancerMember http://192.168.1.51:80 loadfactor=2
3. 접근 제어 설정
특정 IP 대역만 접근할 수 있도록 제어하는 것도 가능하다.
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
</Proxy>
728x90
'SW > WEB WAS' 카테고리의 다른 글
| Apache JMeter을 통한 성능 테스트 방법 (0) | 2024.09.30 |
|---|---|
| Apache JMeter란? 설치 및 실행 방법 (2) | 2024.09.28 |
| [Apache] 아파치 에러 페이지 설정 방법 (0) | 2024.09.24 |
| [Apache] OpenSSL을 사용한 자체 서명된 인증서 발급 및 적용 (0) | 2024.09.21 |
| [Apache] 아파치 서버 보안 설정_ 업로드 크기 제한, 이미지 도용 방지, 접근 제어 (0) | 2024.09.21 |