공감

|

SM

SM

DH

DH

JH

JH

프록시 프로그램 종류

제공

프록시(Proxy) 프로그램 종류를 알아보았습니다. 프록시 개념 이해를 도와줍니다.

프록시 개념정의

프록시(Proxy) 프로그램은 여러 종류가 있고, 용도에 따라 분류할 수 있어요. 크게 포워드 프록시(Forward Proxy), 리버스 프록시(Reverse Proxy), 캐싱 프록시(Caching Proxy), SOCKS 프록시 등으로 나눌 수 있고, 각 유형에 따라 많이 쓰이는 대표적인 프로그램들이 있어요.


포워드 프록시 (Forward Proxy)

대표 프로그램

클라이언트가 인터넷으로 나갈 때 중계해주는 프록시

프로그램특징
Squid가장 전통적이고 강력한 HTTP/HTTPS/FTP 프록시. 캐싱 기능도 가능
Privoxy프라이버시 보호, 광고 차단 등 기능. Squid와 병행 사용 가능
Polipo가벼운 HTTP 프록시. 지금은 개발 중단됐지만 작은 시스템에서는 여전히 사용 가능
DanteSOCKS 프록시 서버. SOCKS5 지원

리버스 프록시 (Reverse Proxy)

대표 프로그램

외부에서 서버에 접속할 때, 프록시가 앞단에서 요청을 받아 내부 서버로 전달

프로그램특징
Nginx가장 많이 쓰이는 리버스 프록시. 로드 밸런싱, HTTPS 종단(Termination) 지원
Apache HTTP Servermod_proxy 모듈로 리버스 프록시 가능
Caddy자동 Let’s Encrypt SSL 발급과 간단한 설정으로 리버스 프록시 가능
HAProxy고성능 TCP/HTTP 로드밸런서이자 리버스 프록시 역할

캐싱 프록시 (Caching Proxy)

대표 프로그램

프록시 서버에서 컨텐츠를 캐싱해서 반복 요청 시 빠르게 전달

프로그램특징
SquidHTTP/HTTPS 캐싱 지원. 대형 캐시 서버 구축 가능
Varnish고성능 웹 캐싱 프록시. 웹 페이지 캐싱에 최적

SOCKS 프록시

대표 프로그램

TCP 연결을 프록시 해주는 방식. HTTP 외의 프로토콜도 지원

프로그램특징
DanteSOCKS5 지원. 서버 설정 세부 조정 가능
shadowsocks암호화된 SOCKS5 프록시. 중국 등 검열 우회용으로 많이 사용
ssh -DSSH 자체로 SOCKS5 프록시 가능 (로컬용)

설치 예시 (우분투 24.04)

Nginx 설치

sudo apt update
sudo apt install nginx

Squid 설치

sudo apt update
sudo apt install squid

Dante 설치 (소스 빌드 필요)

sudo apt update
sudo apt install dante-server

프로그램 사용 환경

용도추천 프록시
인터넷 검열 우회, 프라이버시 보호SOCKS 프록시 (Dante, Shadowsocks)
웹 서버 앞단에서 SSL 종단 및 로드밸런싱Nginx, HAProxy
다수 사용자 인터넷 캐싱 및 속도 향상Squid, Varnish
프라이버시 필터링 및 광고 차단Privoxy

코멘트

“프록시 프로그램 종류” 에 하나의 답글

  1. Docker를 사용하려면 프록시에서 리버스 프록시는 이해해야 한다.

    외부에서 들어온 신호를 도커 컨테이너에 연결하기 위해서 필요하다.
    도커에서 컨테이너 생성 시에 호스트(host) 포트와 컨테이너 포트를 연결해주는 것으로는 외부에서 들어온 신호가 연결되지 않는다.

    리버스 프록시 에서는 대부분 Nginx를 사용하지만,
    1) 호스트 컴퓨터에 아파치가 설치되어 있을 경우 apache2 에서 conf 를 편집해서 리버스 프록시를 할 수 있다.
    2) Node.js 의 경우에서도 직접 코딩을 해주는 방법이 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다