Forward vs Reverse Proxy
프록시는 누구 편에 서 있느냐로 나뉜다
포워드 프록시는 클라이언트 조직이 쓰는 대리자이고, 리버스 프록시는 서비스 운영자가 앞단에 세우는 진입점이다. 같은 중개 서버지만 숨기는 대상과 신뢰 경계가 다르다.
포워드 프록시는 클라이언트의 외부 요청을 대신 보낸다
리버스 프록시는 백엔드 서버들을 대표해 요청을 받는다
X-Forwarded-For는 신뢰한 프록시에서 온 값만 믿어야 한다
Forward proxy
클라이언트 측 대리자
Client회사/학교 내부망
→
Proxy필터링, 로깅, 접근 제어
→
Internet server프록시 IP를 직접 상대
목적지 서버는 보통 프록시 IP를 보며, 실제 클라이언트 IP는 헤더
정책에 따라 달라진다.
Reverse proxy
서버 측 진입점
User브라우저, 앱
→
Nginx / LBTLS, 캐시, 라우팅, WAF
→
BackendsAPI, app, static
사용자는 프록시와 통신하고, 백엔드 주소와 토폴로지는 서비스
내부에 숨겨진다.
목적접근 통제포워드 프록시는 조직 밖으로 나가는 요청을 정책으로
관리한다.
운영단일 진입점리버스 프록시는 TLS 인증서, 압축, 캐시, rate limit을 한곳에
모은다.
신뢰헤더 검증X-Forwarded-For는
신뢰한 프록시가 붙인 경우만 클라이언트 IP로 써야 한다.
주의: HTTPS 본문까지 검사하는 기업 프록시는 일반 HTTP 프록시와 다르다. 단말에 신뢰된 루트 인증서를 설치하는 TLS inspection 구성이 필요하다.