아파치 웹서버(apache web server) 에는 mod_proxy 라는 프록시 기능을 하는 모듈이 내장되어 있고 이 모듈은 forward proxy 와 reverse proxy  두 가지 기능을 다 수행한다.

 

그러면 forward 와 reverse 방식의 차이점은 무엇일까.

 

아래 그림을 보면 쉽게 이해할 수 있을 것이다.

Forward Proxy

클라이언트가  example.com 에 연결하려고 하면 사용자 PC 가 직접 연결하는게 아니라 포워드 프록시 서버가 요청을 받아서  example.com 에 연결하여 그 결과를 클라이언트에 전달(forward) 해 준다.

포워드 프록시는 대개 캐슁 기능이 있으므로 자주 사용되는 컨텐츠라면 월등한 성능 향상을 가져올 수 있으며 정해진 사이트만 연결하게 설정하는 등 웹 사용 환경을 제한할수 있으므로 기업 환경등에서 많이 사용한다.

 

Reverse Proxy

클라이언트가 example.com 웹 서비스에 데이타를 요청하면 Reverse Proxy는 이 요청을 받아서 내부 서버에서 데이타를 받은후에 이 데이타를 클라이언트에 전달하게 된다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

내부 서버가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유는 보안때문이다.

보통 기업의 네트워크 환경은 DMZ 라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재하며 이 구간에는 메일 서버, 웹 서버, FTP 서버등 외부 서비스를 제공하는 서버가 위치하게 된다.

example.com 사는 서비스를 자바로 구현해서 WAS 를 DMZ 에 놓고 서비스해도 되지만 WAS 는 보통 DB 서버와 연결되므로 WAS 가 최전방에 있으면 WAS 가 털릴 경우 DB 서버까지 같이 털리는 심각한 문제가 발생할 수 있다.

이때문에 리버스 프락시 서버를 두고 실제 서비스 서버는 내부망에 위치시키고 프락시 서버만 내부에 있는 서비스 서버와 통신해서 결과를 클라이언트에게 제공하는 방식으로 서비스를 하게 된다.

특히 리눅스 환경이라면 리버스 프락시로 아파치 웹 서버를 사용한다면 SELinux 를 켜 놓으면 SELinux 의 기본 정책이 웹 서버는 톰캣의 8080, 8009 포트만 접근 할 수 있으므로 아파치 웹 서버가 해킹당해도 웹 서버 권한으로는 내부망으로 연결이 불가하다.

 

Reverse Proxy 로 서비스 제공시 WAS 에서 REMOTE_ADDR 을 가져오면 Reverse Proxy 서버의 IP 를 얻게 되므로 원하는 결과가 나오지 않는다.

Proxy(프락시) 환경에서 client IP 를 얻기 위한 X-Forwarded-For(XFF) http header 를 참고해서 XFF 헤더를 사용하자.

 

[출처] https://www.lesstif.com/pages/viewpage.action?pageId=21430345

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
150 [과학TALK] 이재용 ‘퀀텀점프’ 노리는 비메모리반도체... 5G·AI 타고 성장률 메모리의 5배 file 졸리운_곰 2020.05.23 164
149 당신의 모든 웹 사이트는 내 것입니다. All your website are belong to us (with a reverse proxy) 사이트 훔치기 [1] file 졸리운_곰 2020.05.05 231
148 환경보호 기술 쏟아지지만 기후변화는 계속된다…기술이 정말 지구 구할까 file 졸리운_곰 2020.05.03 245
147 미 국방부도 인정했다, UFO 영상 3편 공개 file 졸리운_곰 2020.04.28 226
146 Apache 리버스 프록시 SSL 셋팅하기 file 졸리운_곰 2019.12.23 522
145 [Apache] Reverse Proxy 사용하기 [1] 졸리운_곰 2019.12.23 186
144 프록시 서버 ( Proxy Server ) 구축하기 [1] file 졸리운_곰 2019.12.23 1208
143 Forward Proxy 와 Reverse Proxy [1] 졸리운_곰 2019.12.23 255
142 Apache Reverse Proxy 설정(아파치와 노드 연동) [1] file 졸리운_곰 2019.12.23 299
141 리버스 프록시 설정하기 졸리운_곰 2019.12.23 240
» 포워드 프록시(forward proxy) 리버스 프록시(reverse proxy) 의 차이 졸리운_곰 2019.12.23 232
139 RPA, AI, 데이터옵스 등 2020년 주시해야 할 기술 8가지 file 졸리운_곰 2019.11.17 225
138 [알아봅시다] ICT와 제조업의 결합 … 무르익는 스마트 팩토리 file 졸리운_곰 2019.10.25 198
137 레스터 리서치의 2018년에서 2020년까지 주목해야 할 10대 기술 트렌드 file 졸리운_곰 2019.01.23 227
136 10년 안에 대세가 될 기술 21가지 file 졸리운_곰 2019.01.23 957
135 [알아봅시다]클라우드 떠받치는 패브릭, 도대체 무엇일까 file 졸리운_곰 2019.01.14 202
134 [알아봅시다] IEEE 예측 2018년 10대 기술 트렌드 졸리운_곰 2018.10.23 205
133 [인포그래픽] 대한민국 SNS 이용현황 – 2017년 상반기 file 졸리운_곰 2018.09.04 230
132 [재미있는 과학] 원유·모래 섞인 '오일샌드'… 수증기로 원유만 쏙 빼내요 file 졸리운_곰 2018.02.14 317
131 [알아봅시다] 5G를 실현하는 세가지 기술축 file 졸리운_곰 2018.01.01 225
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED