[WEB] Proxy?

Gaeng·2024년 11월 11일

WEB

목록 보기
3/3

Backend 개발과 Frontend개발을 할 때 듣는 단어가 있다. 그 단어는 Proxy 라는 단어이다.
오늘은 Proxy에 대해 공부해보자.

Proxy?

💡프록시(Proxy)

  • 영어의 뜻은 '대리, 위임'이라는 뜻을 가진 단어이다. 웹에서는 프록시를 두 시스템 사이에서 중계자 역할을 하는 서버나 소프트웨어를 말한다.
  • 클라이언트와 서버 간의 요청과 응답을 대신 주고받아, 네트워크 통신을 간접적으로 수행하도록 합니다. 프록시는 다양한 목적으로 사용되며, 특히 보안, 성능 최적화, 접근 제어, 캐싱 등에 중요한 역할을 합니다.
  • 프록시는 중간에 서서 필요한 정보나 요청을 대신 주고받아주는 안전하고 효율적인 메신저 역할을 한다고 보면 됩니다.

Proxy의 목적?

  • 보안 강화
    프록시를 통해 접속하면, 서버에서는 실제 사용자의 위치나 정보가 보이지 않아서 보호됩니다.
  • 성능 향상
    자주 요청하는 정보는 프록시가 기억하고 있다가 빠르게 제공해 줄 수 있어요.
  • 접근 제한
    회사나 학교에서 특정 사이트를 차단할 때도 프록시를 사용해요.

Forward Proxy vs Reverse Proxy

정방향 프록시

정방향 프록시는 클라이언트와 외부 서버 사이에 위치하여, 클라이언트의 요청을 외부 서버로 대신 전달하는 역할
Forward Proxy의 동작 원리

	1.	클라이언트는 Forward Proxy에 요청을 보냄.
	2.	Proxy는 요청을 받아 대상 서버(Target Server)로 전달.
	3.	대상 서버는 요청을 처리하고 응답을 반환.
	4.	Proxy는 응답을 받아 클라이언트에게 전달.

Forward Proxy의 역할

	1.익명성 보장
      •클라이언트의 IP 주소를 숨기고, Proxy의 IP로 서버에 요청을 전달.
      •사용자는 자신의 신원을 보호할 수 있음.
	2.접근 제어
		•특정 웹사이트나 리소스에 대한 접근을 허용하거나 차단.
		•조직 내에서 네트워크 정책 관리 용도로 사용됨.
	3.캐싱
		•자주 요청되는 데이터를 저장해 빠르게 제공.
		•서버에 대한 요청을 줄여 네트워크 트래픽 감소.
	4.콘텐츠 필터링
		•부적절한 웹사이트를 차단하거나 특정 유형의 콘텐츠 접근 제한.
		•회사나 학교에서 유용.
	5.보안 강화
		•악성 웹사이트와의 직접 접속을 막아 클라이언트를 보호.
		•HTTPS 요청 검사 및 바이러스 탐지 기능 제공 가능.      

역방향 프록시

Reverse Proxy는 서버와 클라이언트 간의 중개자 역할을 하며, 클라이언트가 직접 서버에 요청하지 않고, ReverseProxy를 통해 요청이 처리 되도록 설정된 네트워크 구성이고, 클라이언트는 실제 서버를 알지 못하지만, Proxy가 서버처럼 동작해 요청을 처리.
Reverse Proxy의 동작 원리

	1.	클라이언트는 Reverse Proxy에 요청을 보냄.
	2.	Reverse Proxy는 요청을 받아 적절한 백엔드 서버로 전달.
	3.	백엔드 서버가 요청을 처리하고 응답을 반환.
	4.	Reverse Proxy는 응답을 받아 클라이언트에게 전달.

Reverse Proxy의 역할

  1. 부하 분산 (Load Balancing)
     • 여러 백엔드 서버에 클라이언트 요청을 분산.
     • 트래픽 증가에도 안정적인 서비스 제공.
  2. SSL 종료 (SSL Termination)
     • HTTPS 암호화와 복호화를 Proxy가 처리하여 백엔드 서버의 부담 감소.
     • SSL 인증서를 한 곳에서 관리 가능.
  3. 보안 강화
     • 백엔드 서버를 외부에서 숨기고, Proxy를 통해서만 접근 가능.
     • 클라이언트는 실제 서버의 IP 주소와 내부 구조를 알 수 없음.
  4. 캐싱
     • 자주 요청되는 데이터를 저장해 빠르게 제공.
     • 서버의 응답 시간을 단축하고, 요청 처리 부담을 줄임.
  5. 클라이언트 요청 필터링
     • 악의적인 요청이나 특정 IP를 차단해 보안을 강화.
     • DDoS 공격 방어와 요청 검증 기능 제공.

Reverse Proxy

	1.Nginx 및 Apache:
		•HTTP 요청을 처리하고 백엔드 서버로 전달.
		•SSL 인증서를 관리하거나 로드 밸런서를 설정하는 데 자주 사용.
	2.AWS Elastic Load Balancer:
		•AWS 환경에서 요청을 여러 서버로 분산.
	3.Cloudflare:
		•Reverse Proxy 기능을 통해 보안, 캐싱, 트래픽 관리 제공.

그림 출처 : https://research.aimultiple.com/forward-vs-reverse-proxy/

profile
문제를 해결하면서 나온 문제를 기록하는 노트

0개의 댓글