CS
Proxy
seo dori
2023. 7. 14. 21:10
Proxy란 서버와 서버 사이에서 목적에 따라 특정 서버들을 대신해 여러가지 작업을 수행해줍니다. 프록시 서버는 요청을 가로채서 응답할 수 있으며, 요청만 전달하거나 수정할 수도 있습니다. 다른 다양한 기능을 제공할 수 있습니다. 예를 들면 보안 기능, 로드 밸런싱, 캐싱, 요청/응답 수정 등의 역할을 수행할 수 있습니다. 클라이언트는 프록시를 통해 서버와 통신하므로, 실제 서버에 대한 정보를 감추거나 네트워크 성능을 개선하는 등의 이점을 얻을 수 있습니다.
프록시 서버는 하는 역할에 따라 크게 Forward Proxy와 Reverse Proxy로 나뉩니다.
- Forward Proxy
- 클라이언트(일반적으로 내부 네트워크에 위치한)와 인터넷 상의 리소스 사이에서 동작합니다. 실제 목적지 서버로 직접 연결하지 않습니다.
- 클라이언트의 요청을 대신하여 인터넷에 직접 요청을 보내고 응답을 받아 클라이언트에게 전달합니다.
- 클라이언트는 실제 목적지 서버의 정보를 알지 못하며, Forward Proxy 서버만을 통해 통신합니다. 이는 익명성을 제공하고 클라이언트의 실제 IP 주소 등을 숨길 수 있습니다.
- 주로 보안, 익명성, 캐시 기능을 제공하기 위해 사용됩니다.
- 예를 들어, 회사의 내부 네트워크에서 인터넷에 접근할 때, Forward Proxy를 사용하여 인터넷 요청을 필터링하고 모니터링할 수 있습니다.
2. Reverse Proxy
- 서버(일반적으로 비공개 네트워크에 위치한)와 클라이언트 사이에서 동작합니다.
- 클라이언트로부터의 요청을 받아 처리할 서버로 전달하고, 서버의 응답을 클라이언트에게 전달합니다.
- 보안, 부하 분산, 캐싱, SSL 암호화 등을 제공하여 서버의 성능을 향상시키고 안전성을 높입니다.
- 클라이언트가 요청하는 도메인에 따라 적절한 서버로 요청을 라우팅할 수 있습니다.
- 예를 들어, 여러 개의 웹 서버를 구성하고 역방향 프록시를 사용하여 웹 애플리케이션의 부하를 분산시킬 수 있습니다.
요약하자면, 전달 프록시는 클라이언트를 대신하여 캐싱, 익명성, 보안 등의 작업을 처리하며, 역방향 프록시는 서버의 게이트웨이로 동작하여 부하 분산, 암호화, 인증, 추가적인 보안 기능을 제공합니다.