Forward Proxy와 Reverse Proxy의 개념과 차이점
Forward Proxy와 Reverse Proxy라는 단어를 많이 들어봤는데 개념을 정확히 이해하고 둘의 차이점을 알아보도록 하겠습니다.
Proxy란?
먼저 둘을 알기 위해서는 Proxy라는 개념을 이해해야 합니다.
프록시란 그 뜻을 해석하면 대리 라는 뜻입니다. 서버와 서버 사이에서 중계기 역할을 합니다. 클라이언트와 서버 사이에 프록시 서버를 두게 되면 얻는 이점들이 많습니다. 보안상으로 얻을 수 있는 이점도 있고, 중복된 데이터들을 캐싱하여 서버까지 가지 않고 캐싱된 데이터를 빠르게 응답받을 수 있는 이점이 있습니다.
결론적으로 프록시 서버를 사용하는 이유는 다음과 같습니다.
- 클라이언트에게는 빠른 처리 속도
- 서버에게는 불필요한 부하를 줄임
- 보안을 위해서
Forward Proxy(포워드 프록시)

같은 내부망에 있는 클라이언트의 요청을 대신 받아서 서버로 요청을 보내고 응답을 받은 뒤 다시 클라이언트에게 응답해줍니다. 즉, 클라이언트는 실제 서버가 아닌 포워드 프록시에게 요청을 하게 되는 것입니다.
- 클라이언트가 구글로 요청을 보냄(실제로는 포워드 프록시 서버로 요청)
- 포워드 프록시 서버가 이를 받아 대신 구글로 요청을 보내고 응답을 받아옴
- 받아온 응답을 다시 클라이언트에게 응답
장점
보안성
보안이 매우 중요한 기업(정부나 학교 등)에서 특정 사이트의 접근을 제한하기 위해 사용됩니다. 직접적인 서버 접근을 막고 프록시 서버에 룰을 추가하여 특정 사이트의 접근을 막을 수 있습니다.
캐싱
포워드 프록시는 대게 캐싱 기능이 있으므로 자주 사용되는 컨텐츠라면 성능 향상을 가져올 수 있어 클라이언트에게 빠른 처리 속도를, 서버에는 불필요한 부하를 줄일 수 있습니다.
암호화
클라이언트 요청은 포워드 프록시 서버를 거칠 때 암호화가 됩니다. 이렇게 암호화 된 요청은 최소한의 데이터만 갖게 되는데 이는 클라이언트의 IP를 감춰주는 효과를 내게 됩니다. 서버는 IP를 역추적해도 결국 포워드 프록시 서버의 요청이기 때문에 클라이언트를 파악하기 어렵습니다.
Reverse Proxy (리버스 프록시)

예를 들어, example.com 이라는 웹 서비스를 한다고 하면, 사용자가 example.com로 접근했을 때 리버스 프록시 서버가 그 요청을 받게 됩니다. 리버스 프록시 서버가 해당 요청을 받아서 내부망에 있는 WAS로 대신 요청을 하게 되는 것입니다.
보통 WAS는 Web Server 기능을 제공하는데 이렇게 구성하는 이유는 무엇일까요?
보통 기업 네트워크 환경은 DMZ(비무장 지대)라고 하는 구간이 존재합니다.

출처: https://www.techtarget.com/searchsecurity/definition/DMZ
외부 네트워크와 내부 네트워크 사이에 존재하고 양쪽 방화벽을 놓은 구간을 말합니다. 보통 이 구간에는 Mail Server, FTP 서버, Web Server를 두게 됩니다.
기본적으로 Web Server 기능을 제공해주는 WAS를 DMZ 구간에 두고 서비스를 해도 되지만 해킹당했을 때 WAS에 연결된 DB까지 해킹당할 위험이 있기 때문에 WAS는 내부망에 위치를 시키는 것 입니다.
💡 우리가 보통 구성하는 Web server(Nginx, Apache) ↔ WAS(Tomcat) 형태를 리버스 프록시라고 볼 수 있습니다. 하지만 Web server, WAS가 한 서버내에 구성이 되어있다면, 이는 리버스 프록시라고 볼 수 없습니다.
장점
로드 밸런싱
한 서버가 모든 트래픽을 받아내기는 쉽지 않습니다. 그렇기 때문에 WAS를 클러스터링 하여 구성해놓고 리버스 프록시 서버를 앞에 두고 로드 밸런싱 구성을 하게 되면 여러 WAS가 골고루 처리할 수 있으므로 더욱 안정적이게 서비스를 할 수 있습니다.
서버 보안 및 암호화
리버스 프록시를 이용하면 WAS IP를 노출시키지 않기 때문에 클라이언트로 부터 WAS를 감출 수 있습니다. 그렇기 떄문에 DDos 같은 공격을 막는데 도움이 됩니다.
리버스 프록시 서버에 SSL 보안을 구성하게 되면 클라이언트와 주고받는 데이터는 모두 암호화 처리가 되어 더욱 안전한 통신을 할 수 있으며 WAS에서 따로 암호화에 대해 처리하지 않아도 되므로 부하를 줄일 수 있습니다.
캐싱
동일한 요청에 동일한 데이터를 응답할 수 있다면, 자주 사용되는 데이터를 캐싱하여 응답해주면 더 빠른 속도와 WAS에 불필요한 부하를 줄일 수 있습니다.
REFERENCES
포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이
포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이
Web Server와 WAS 에 대해 연동하려면 Reverse Proxy 에 대한 이해가 필수입니다.
www.lesstif.com
[WEB] 🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리
[WEB] 🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리
프록시(Proxy) 란? 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시(Proxy)란 '대리'
inpa.tistory.com
What is a DMZ in Networking?
Learn what a DMZ (demilitarized zone) -- also known as a perimeter computer network -- is, how a DMZ is implemented and the benefits of using one.
www.techtarget.com
[네트워크] DMZ(DeMilitarized Zone)
[네트워크] DMZ(DeMilitarized Zone)
지금하고 있는 프로젝트에서 총 8개의 서버를 관리하고 있다. 내부 Web/WAS 서버, 외부 Web/WAS 서버로 각 서버를 2개씩 가진다. 외부 Web 서버만 따로 관리하고 있기에 여쭤봤더니 외부 Web 서버만 DMZ
ee-22-joo.tistory.com
Forward Proxy와 Reverse Proxy의 개념과 차이점
Forward Proxy와 Reverse Proxy라는 단어를 많이 들어봤는데 개념을 정확히 이해하고 둘의 차이점을 알아보도록 하겠습니다.
Proxy란?
먼저 둘을 알기 위해서는 Proxy라는 개념을 이해해야 합니다.
프록시란 그 뜻을 해석하면 대리 라는 뜻입니다. 서버와 서버 사이에서 중계기 역할을 합니다. 클라이언트와 서버 사이에 프록시 서버를 두게 되면 얻는 이점들이 많습니다. 보안상으로 얻을 수 있는 이점도 있고, 중복된 데이터들을 캐싱하여 서버까지 가지 않고 캐싱된 데이터를 빠르게 응답받을 수 있는 이점이 있습니다.
결론적으로 프록시 서버를 사용하는 이유는 다음과 같습니다.
- 클라이언트에게는 빠른 처리 속도
- 서버에게는 불필요한 부하를 줄임
- 보안을 위해서
Forward Proxy(포워드 프록시)

같은 내부망에 있는 클라이언트의 요청을 대신 받아서 서버로 요청을 보내고 응답을 받은 뒤 다시 클라이언트에게 응답해줍니다. 즉, 클라이언트는 실제 서버가 아닌 포워드 프록시에게 요청을 하게 되는 것입니다.
- 클라이언트가 구글로 요청을 보냄(실제로는 포워드 프록시 서버로 요청)
- 포워드 프록시 서버가 이를 받아 대신 구글로 요청을 보내고 응답을 받아옴
- 받아온 응답을 다시 클라이언트에게 응답
장점
보안성
보안이 매우 중요한 기업(정부나 학교 등)에서 특정 사이트의 접근을 제한하기 위해 사용됩니다. 직접적인 서버 접근을 막고 프록시 서버에 룰을 추가하여 특정 사이트의 접근을 막을 수 있습니다.
캐싱
포워드 프록시는 대게 캐싱 기능이 있으므로 자주 사용되는 컨텐츠라면 성능 향상을 가져올 수 있어 클라이언트에게 빠른 처리 속도를, 서버에는 불필요한 부하를 줄일 수 있습니다.
암호화
클라이언트 요청은 포워드 프록시 서버를 거칠 때 암호화가 됩니다. 이렇게 암호화 된 요청은 최소한의 데이터만 갖게 되는데 이는 클라이언트의 IP를 감춰주는 효과를 내게 됩니다. 서버는 IP를 역추적해도 결국 포워드 프록시 서버의 요청이기 때문에 클라이언트를 파악하기 어렵습니다.
Reverse Proxy (리버스 프록시)

예를 들어, example.com 이라는 웹 서비스를 한다고 하면, 사용자가 example.com로 접근했을 때 리버스 프록시 서버가 그 요청을 받게 됩니다. 리버스 프록시 서버가 해당 요청을 받아서 내부망에 있는 WAS로 대신 요청을 하게 되는 것입니다.
보통 WAS는 Web Server 기능을 제공하는데 이렇게 구성하는 이유는 무엇일까요?
보통 기업 네트워크 환경은 DMZ(비무장 지대)라고 하는 구간이 존재합니다.

출처: https://www.techtarget.com/searchsecurity/definition/DMZ
외부 네트워크와 내부 네트워크 사이에 존재하고 양쪽 방화벽을 놓은 구간을 말합니다. 보통 이 구간에는 Mail Server, FTP 서버, Web Server를 두게 됩니다.
기본적으로 Web Server 기능을 제공해주는 WAS를 DMZ 구간에 두고 서비스를 해도 되지만 해킹당했을 때 WAS에 연결된 DB까지 해킹당할 위험이 있기 때문에 WAS는 내부망에 위치를 시키는 것 입니다.
💡 우리가 보통 구성하는 Web server(Nginx, Apache) ↔ WAS(Tomcat) 형태를 리버스 프록시라고 볼 수 있습니다. 하지만 Web server, WAS가 한 서버내에 구성이 되어있다면, 이는 리버스 프록시라고 볼 수 없습니다.
장점
로드 밸런싱
한 서버가 모든 트래픽을 받아내기는 쉽지 않습니다. 그렇기 때문에 WAS를 클러스터링 하여 구성해놓고 리버스 프록시 서버를 앞에 두고 로드 밸런싱 구성을 하게 되면 여러 WAS가 골고루 처리할 수 있으므로 더욱 안정적이게 서비스를 할 수 있습니다.
서버 보안 및 암호화
리버스 프록시를 이용하면 WAS IP를 노출시키지 않기 때문에 클라이언트로 부터 WAS를 감출 수 있습니다. 그렇기 떄문에 DDos 같은 공격을 막는데 도움이 됩니다.
리버스 프록시 서버에 SSL 보안을 구성하게 되면 클라이언트와 주고받는 데이터는 모두 암호화 처리가 되어 더욱 안전한 통신을 할 수 있으며 WAS에서 따로 암호화에 대해 처리하지 않아도 되므로 부하를 줄일 수 있습니다.
캐싱
동일한 요청에 동일한 데이터를 응답할 수 있다면, 자주 사용되는 데이터를 캐싱하여 응답해주면 더 빠른 속도와 WAS에 불필요한 부하를 줄일 수 있습니다.
REFERENCES
포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이
포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이
Web Server와 WAS 에 대해 연동하려면 Reverse Proxy 에 대한 이해가 필수입니다.
www.lesstif.com
[WEB] 🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리
[WEB] 🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리
프록시(Proxy) 란? 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시(Proxy)란 '대리'
inpa.tistory.com
What is a DMZ in Networking?
Learn what a DMZ (demilitarized zone) -- also known as a perimeter computer network -- is, how a DMZ is implemented and the benefits of using one.
www.techtarget.com
[네트워크] DMZ(DeMilitarized Zone)
[네트워크] DMZ(DeMilitarized Zone)
지금하고 있는 프로젝트에서 총 8개의 서버를 관리하고 있다. 내부 Web/WAS 서버, 외부 Web/WAS 서버로 각 서버를 2개씩 가진다. 외부 Web 서버만 따로 관리하고 있기에 여쭤봤더니 외부 Web 서버만 DMZ
ee-22-joo.tistory.com