Reverse Proxy

Reverse Proxy란?

스크린샷 2020-04-08 오후 10 34 55

Reverse Proxy는 클라이언트로부터 요청을 받아서 적절한 웹 서버로 요청을 전송한다.

Proxy라는 의미 그대로 대리인의 역할을 수행한다.

웹 서버는 요청을 받아서 처리를 하지만, 응답은 Reverse Proxy로 반환한다.

일반적으로 프록시 서버는 LAN -> WAN의 요청을 대리로 수행하지만, Reverse Proxy는 WAN -> LAN의 요청을 대리한다.

클라이언트로부터의 요청이 웹 서버로 전달되는 도중에 끼어들어서 다양한 전후처리를 시행할 수 있게 된다.

그러면 Reverse Proxy로 할 수 있는 일들은 뭐가 있을까?

HTTP 요청 내용에 따른 시스템 동작 제어

HTTP 요청 내용을 보고 시스템의 동작을 제어할 수 있다.

가령 클라이언트의 IP 주소를 보고 특정 IP 주소만 서버로의 접속을 허가한다던지,

클라이언트의 User-Agent를 보고 특별한 웹 서버로 접속되도록 유도할 수 있다.

인증서 처리

HTTPS로 전송되는 인증서와 비공개키인 crtkey를 처리하는 경우 Reverse Proxy 구조를 고려해볼 수 있다.

Reverse Proxy 서버(일반적으론 nginx)가 애플리케이션 서버 앞단에 둬서 처리하게 하는 경우가 더러 있다고 한다.

이는 SSL 암복호화에 CPU 리소스를 많이 잡아먹기 때문에 별도의 처리 Proxy 서버를 두는 것을 고려해볼만 하다.

Reference

https://brainbackdoor.tistory.com/113



© 2022. by minkuk

Powered by minkuk