만약 REST API WAS 서버를 구축하여 API를 open하게 될 때, 해당 WAS 서버에 대한 직접적인 접근을 허용하기에는 보안상 문제가 될 수 있습니다. 따라서 보통 REST API WAS 서버는 내부망에 위치하게 하고, Reverse Proxy 서버가 Client에서 요청한 REST API Request에 대해 대신 Response를 하게 됩니다.

 

Proxy는 Forward/Reverse Proxy 두가지가 있는데, 보통 Forward Proxy는 사내망 Client에서 외부에 있는 웹서버를 접근할 때 사용되며(미리 Proxy 지정이 필요함), Reverse Proxy는 Client에서 웹서버에 접근 할 때, 내부망에 위치한 WAS서버를 대신하여 요청한 Request에 대해 Response를 하는 구조입니다. 따라서 내부망에 있는 WAS서버와 분리가 되어 있기 때문에, 보안상 더 안전하게 됩니다. 

 

또한 REST API WAS 서버를 운영할 때, REST API 버전별로 다른 주소로 redirecting을 할 수 있기 때문에, 관리적인 측면에서도 유용합니다.

 

다음과 같이 Reverse Proxy와 REST API WAS 서버가 있다고 가정하였을 때, REST API 버전을 업데이트 하여 주소가 변경될 때, 사용자 입장에서는 동일한 주소로 REST API를 사용할 수 있습니다.

 

- Reverse Proxy Server: http://honeybeee.io/users/_search

 

- 내부 REST API v1.0 WAS서버: http://api.honeybeee.com/src/honeybeee/api/v1.0/users/_search

 

- 내부 REST API v2.0 WAS서버: http://api.honeybeee.com/src/honeybeee/api/v2.0/users/_search

 

만약 REST API 버전이 v2.0으로 변경 되었다면, 단순히 Reverse Proxy에서 .../v2.0으로 redirecting만 지정하면 됩니다. 사용자 입장에서는 여전히 http://honeybeee.io/users/_search 동일한 URL로 접근하면 됩니다.

 

* 참고: https://www.lesstif.com/pages/viewpage.action?pageId=21430345

* 참고: http://idess.tistory.com/6

* 참고: http://bcho.tistory.com/954

 

Apache에서도 Reverse Proxy기능을 지원하는데, 설정하는 방법에 대해 알아 보겠습니다.

현재 두 개의 물리적인 서버가 존재한다고 가정합니다.

 

<Reverse Proxy Apache 서버>

- DNS: honeybeee.io

- Port: 80 (Default Port)

 

<REST API WAS서버>

- DNS: api.honeybeee.com

- Port: 8100

 

1. Reverse Proxy Apache 서버에서 httpd.conf파일에 Proxy 모듈 사용 선언

Apache 서버에서 Proxy 기능을 사용하기 위해 아래의 모듈을 지정합니다.

 

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

 

2. Reverse Proxy Apache 서버에서 LISTEN 포트 확인하기

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

Reverse Proxy Apache 서버내의 httpd.conf파일에 위에서 가정한 80포트를 Listen 하는지 확인합니다. 만약 다른 포트로 지정하고자 한다면, 꼭 Listen을 지정해야 합니다.

 

ex) 8080사용

 

httpd.conf

 

...

Listen 8080

...

 

3. Reverse Proxy 선언

Reverse Proxy Apache 서버에서 httpd-vhosts.conf파일을 열은 후, 아래와 같이 가상호스트를 지정합니다. 아래의 의미는 해당 Reverse Proxy 서버의 주소 및 80포트로 접근시, REST API 서버의 특정 주소로 Client 요청을 넘긴 후, 결과값에 대해 Client에 다시 Response합니다. 

 

<VirtualHost *:80>

 

  ProxyPass / http://api.honeybeee.com:8100/src/honeybeee/api/v1.0/

  ProxyPassReverse  / http://api.honeybeee.com:8100/src/honeybeee/api/v1.0/

 

</VirtualHost>

 

만약 아래와 같이 /test URL 요청에 대해 ReverseProxy가 동작하길 원한다면 아래와 같이 수정하면 됩니다.

 

http://honeybeee.io/test/users/_search 

 

<VirtualHost *:80>

 

  ProxyPass /test http://api.honeybeee.com:8100/src/honeybeee/api/v1.0/

  ProxyPassReverse  /test http://api.honeybeee.com:8100/src/honeybeee/api/v1.0/

 

</VirtualHost>

 

4. Apache 서버를 재시작

서버 재시작 후, 다음과 같이 Client 웹브라우저에서 URL로 접근시, 마치 내부서버에 URL로 접속한 것처럼, Reverse Proxy가 동작하여 사용자에게 원하는 결과를 Response하게 됩니다.

 

ex) Client Web Browser => http://honeybeee.io/users/_search 

     Reverse Proxy => http://api.honeybeee.com:8100/src/honeybeee/api/v1.0/users/_search



출처: https://arclab.tistory.com/103 [Arc Lab.'s Blog]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
35 [알아봅시다] 조현경(특허청)-강의자료-명세서작성법및특허출원 (1) file 졸리운_곰 2026.02.18 324
34 [알아봅시다][ETC] 왜 똑똑한 사람들은 더 행복하지 않을까? 졸리운_곰 2025.11.10 227
33 [알아봅시다] [ETC.] "윈도우 배경 속 푸른언덕은 어디로"…네티즌들 탄식한 현재 모습 file 졸리운_곰 2025.06.05 266
32 [ETC.] 北, 법원 전산망 2년간 침투해 1천GB 빼내…0.5%만 피해 확인 file 졸리운_곰 2024.05.11 168
31 [ETC.] 충전 하세월, 단독근무 불능... 뉴욕 ‘로보캅’ 4개월 만에 해고 file 졸리운_곰 2024.02.05 172
30 [수학] Sin 1/x 의 극한 file 졸리운_곰 2023.07.25 654
29 [알아봅시다] [법률] 직장 동료의 컴퓨터 속 메신저! 몰래 훔쳐보면 정보통신망법 위반일까요? file 졸리운_곰 2022.10.30 202
28 [알아봅시다] 형사범죄 폭행 졸리운_곰 2022.10.30 208
27 [알아봅시다] 폭행죄 공소시효는 ? 졸리운_곰 2022.10.30 230
26 [알아봅시다][고소,고발] 고소ㆍ고발 file 졸리운_곰 2022.10.23 233
25 탄소생명체, 규소생명체 PART-2 file 졸리운_곰 2020.07.09 283
24 탄소생명체, 규소생명체 PART-1 file 졸리운_곰 2020.07.09 284
23 [주말N수학]'파국이론'으로 분석한 역주행의 신화 file 졸리운_곰 2020.07.04 242
22 [프리미엄리포트] 바이러스는 어떻게 탄생했나 file 졸리운_곰 2020.07.04 295
21 살아있는 세포 손상 없이 전자현미경으로 관찰 성공 file 졸리운_곰 2020.06.30 252
20 "인류와 소통 가능한 외계문명 최소 36개" file 졸리운_곰 2020.06.27 238
19 日연구팀 '겨울잠' 유도 실험 성공…의료·우주탐사 활용 기대 file 졸리운_곰 2020.06.14 272
18 [알아봅시다] [박진영의 사회심리학] 머릿속을 지배하는 부정적 '알람' 끄는 법 file 졸리운_곰 2020.06.14 185
17 ‘책임 회피’ ‘그럴만한 이유가 있었다’ 적반하장, 어떻게 행동하면 좋을까 file 졸리운_곰 2020.04.17 211
16 [과학TALK] 시속 1220km로 전 국토 누비는 미래교통의 꿈 file 졸리운_곰 2020.03.21 153
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED