프록시(proxy) 서버란? 포워드 프록시와 리버스 프록시
인터넷이 차단된 내부 네트워크에서 작업을 하더라도 외부 네트워크에 접근해야 하는 경우들이 종종 있습니다. 예를 들어 특정 인터넷 사이트에는 접속이 가능해야 한다거나 특정 API 서버에는 접속이 가능해야한다든지 말이죠.
내부망은 일반적으로 인터넷과 차단되어 있기 때문에 이런 경우에는 프록시(proxy) 서버를 이용해서 인터넷에 접근합니다. 프록시 서버는 내부망의 어떤 컴퓨터를 대신해서 외부망에 액세스하는 서버입니다.
프록시 서버는 외부망과 내부망 중간 경계에 설치되어 있는 방화벽(firewall)에서 실행됩니다.
외부에서 내부로서의 접근은 방화벽이 막아주고, 내부에서 외부로의 접근은 프록시 서버가 대신 해줌으로 네트워크의 안정성을 높입니다.
프록시 서버는 크게 포워드(forward) 프록시와 리버스(reverse) 프록시로 구분하곤 합니다.
포워드(forward) 프록시
포워드 프록시는 클라이언트가 외부 서버에 직접 접근하는 대신 프록시 서버를 경유하여 외부 서버와 통신하게 합니다. 클라이언트는 포워드 프록시 서버의 IP 주소로 요청을 보내기 때문에 외부 서버는 클라이언트의 IP 주소를 알 수 없습니다.
방향: 내부 -> 외부
리버스(reverse) 프록시
리버스 프록시는 웹 서버의 앞단에 위치하여 클라이언트의 요청을 받고, 해당 요청을 적절한 백엔드 서버로 전달하는 역할을 합니다. 클라이언트는 리버스 프록시 서버의 IP 주소를 이용하여 요청을 보내고, 리버스 프록시 서버는 해당 요청을 분석하여 적절한 백엔드 서버로 전달합니다. 이처럼 리버스 프록시는 외부에서 내부로의 접근을 제어합니다.
방향: 외부 -> 내부