프록시란?
프록시(Proxy)의 사전적 의미는 "대신", "대리"입니다. PC가 통신을 할 때 직접 통신을 하지 않고 중간에서 대리로 통신을 하는 것을 "프록시"라고 하며, 중계 역할을 하는 서버를 "프록시 서버"라고 부릅니다. 즉, 클라이언트와 서버 사이의 중계가 역할을 하고 동시에 보안이나 캐싱등 여러 기능을 제공한다고 생각하시면 됩니다.

프록시 서버는 클라이언트와 서버 중간에 위치하기 때문에 클라이언트에서는 서버로 인식을 하고 서버에서는 클라이언트라고 인식을 합니다. 그렇기 때문에 프록시 서버의 위치에 따라 포워드 프록시, 리버스 프록시로 나뉩니다. 각각의 경우에 위치 뿐만 아니라 용도와 역할이 서로 달라집니다.
포워드 프록시 (Forward Proxy)
일반적으로 프록시를 말하면 포워드 프록시를 의미합니다. 클라이언트에서 서버로 자료를 요청할 때 직접 요청하지 않고 프록시 서버를 거쳐서 요청합니다. 이 경우에 서버에서 받는 IP는 클라이언트의 IP가 아니라 프록시 서버의 IP이기 때문에 서버는 클라이언트가 누군지 알 수 없습니다. 즉, 서버에게 클라이언트가 누군지 모르게 감춰주는 역할을 합니다. 그리고 프록시 서버는 캐시를 사용하여 자주 사용된 컨텐츠는 요청없이 캐시에서 가져오기 때문에 성능 향상이 가능합니다.
ex) 회사 사내망, 접근제어 용도

리버스 프록시 (Reverse Proxy)
리버스 프록시는 포워드와 반대 개념입니다. 애플리케이션 서버의 앞에 위치하여 클라이언트가 서버를 요청할 때 리버스 프록시를 호출하고, 리버스 프록시가 서버로부터 응답을 전달받아 다시 클라이언트에게 전송하는 역할을 합니다. 즉, 클라이언트가 직접 서버에 요청을 보내는 것이 아니라 프록시 서버가 요청을 받고 프록시 서버를 거쳐 요청이 가는 것이기 때문에 애플리케이션 서버를 숨겨줍니다. 그리고 내부 서버를 로드 밸런싱 처리하거나 확장을 할때 유리하게 만들어 줍니다.
로드밸런싱 : 리버스 프록시 뒤에 여러 개의 WAS를 둠으로써,
사용자의 요청을 분산할 수 있다.(서버 트래픽을 분산할 수 있다.)
ex) NginX, Apache Web Server
