프록시(proxy)는 클라이언트(사용자)와 서버(목적지) 사이에 중계자로 작동하는 시스템 또는 서버다. 사용자가 직접 서버에 접근하지 않고 프록시를 통해 요청을 전달하고 결과를 받아오는 구조이며, 중계 과정에서 캐시 · 접근 제어 · 로깅 · 주소 숨김 · 부하 분산을 얹을 수 있다.
| 종류 | 설명 | 사용 예 |
|---|---|---|
| Forward Proxy (정방향 프록시) | 사용자의 요청을 대신 서버로 전달 | 회사 내부 → 외부 인터넷, IP 차단 우회, 폐쇄망의 패키지 저장소 접근 |
| Reverse Proxy (역방향 프록시) | 클라이언트의 요청을 받아 내부 서버에 전달 | 웹 서버 앞단 (로드 밸런싱, TLS 종료) |
| Open Proxy (공개 프록시) | 누구나 사용할 수 있는 프록시 | 우회 접속. 보안 위험 높음 |
| Transparent Proxy (투명 프록시) | 클라이언트가 모르게 작동, 요청 자동 중계 | 기업 · 학교 네트워크 모니터링 |
| Anonymous Proxy (익명 프록시) | 사용자 IP 숨김, 서버에 사용자 정보 노출 안 함 | 프라이버시 보호 |
프로토콜로 나누면 HTTP 프록시(HTTP 요청을 이해하고 CONNECT 로 HTTPS 를 터널링)와 SOCKS 프록시(RFC 1928 SOCKS5. 프로토콜을 가리지 않고 TCP/UDP 를 그대로 중계)가 있다. 리눅스 명령줄 도구 대부분은 http_proxy · https_proxy · no_proxy 환경 변수로 HTTP 프록시를, ALL_PROXY=socks5h://... 로 SOCKS 프록시를 쓴다.
export http_proxy=http://proxy.example.com:3128
export https_proxy=http://proxy.example.com:3128
export no_proxy=localhost,127.0.0.1,.example.com,10.0.0.0/8
curl -I https://www.kernel.org/
역방향 프록시는 웹 서버 문서에서 다룬다 — Nginx · HAProxy.
HTTP · HTTPS · FTP 캐싱 프록시. 접근 제어(ACL) · 인증 · 캐시 · 투명 프록시 · SSL bump 까지 갖춘 가장 기능이 많은 구현이다. 현행 버전은 7.7 이다[1]. 설치와 설정은 squid proxy 에 있다.
HTTP/HTTPS 전용 경량 프록시. 설정 파일 하나(/etc/tinyproxy/tinyproxy.conf)로 Port · Allow · Upstream 정도만 잡으면 되어 폐쇄망에서 외부 저장소로 나가는 구멍 하나를 낼 때 알맞다. 캐시는 없다. 현행 버전은 1.11.3 이다[2].
apt install tinyproxy # 또는 dnf install tinyproxy (EPEL)
# /etc/tinyproxy/tinyproxy.conf
# Port 8888
# Allow 192.168.1.0/24
systemctl enable --now tinyproxy
SOCKS5 를 암호화 터널로 감싼 프록시. 클라이언트 ↔ 서버 구간이 AEAD 암호(chacha20-ietf-poly1305 · aes-256-gcm)로 보호되어 검열·검사 장비를 지나야 할 때 쓴다. 현행 구현은 Rust 판 shadowsocks-rust 이며 현행 버전은 1.25.0 이다[3]. 서버는 ssserver -c config.json, 클라이언트는 sslocal 이 로컬 SOCKS5 포트(기본 1080)를 연다.
인증 옵션만 있는 아주 작은 SOCKS5 서버. 바이너리 하나, 의존성 없음. SSH 터널이나 VPN 안쪽에서 SOCKS 진입점 하나가 필요할 때 쓴다. 현행 버전은 1.0.5 이다[4]. 설치와 실행은 socks5 — microsocks 에 있다.
microsocks -i 0.0.0.0 -p 1080 -u ${USER} -P ${PASSWORD}
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me
ssh -D 로 SOCKS 프록시를 즉석에서 만드는 방법.Squid 최신 버전 7.7 (2026-08-24) — 2026-09-20 확인. https://www.squid-cache.org/Versions/ ↩︎
Tinyproxy 최신 버전 1.11.3 (2026-03-07) — 2026-09-20 GitHub 릴리스 API 확인. https://github.com/tinyproxy/tinyproxy/releases ↩︎
shadowsocks-rust 최신 버전 v1.25.0 (2026-08-26) — 2026-09-20 GitHub 릴리스 API 확인. https://github.com/shadowsocks/shadowsocks-rust/releases ↩︎
microsocks 최신 태그 v1.0.5 — 2026-09-20 GitHub 태그 API 확인. https://github.com/rofl0r/microsocks/tags ↩︎