Apache Reverse Proxy 설정(아파치와 노드 연동)

 

 

아파치 웹서버의 Proxy 설정하는 방법을 정리 해 보겠습니다.

아파치와 노드를 연동하려고 합니다. 아래는 지금 설정하려고 하는 버전인데 딱히 상관없을 것 같네요(...)

 

  • Apache 2.4 80 포트
  • Node 10.xx.xx LTS 8080 포트

 

Reverse Proxy

리버스 프록시란 외부에서 접속했을 때 내부서버나 다른 곳으로 연결 해 주는 방법을 말합니다.

프록시 설정에는 여러 방법이 있지만 apache 설치시 기본으로 설치되는 mod_proxy 를 이용하겠습니다.

 

mod_proxy 모듈이 필요한데요.

우선 /apache/conf/httpd.conf 파일 열어 아래 모듈의 주석을 풀어줍니다. (httpd.conf의 경로는 설치에 따라 다릅니다.)

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

 

그다음 /apache/conf/extra/httpd-vhost.conf 파일 열어 편집 해 줍니다.

<VirtualHost *:80>
  ServerName api.playon.tistory.com
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
</VirtualHost>

 

그리고 아파치 재시작

# /apache/bin/apachectl restart

 

node.js 서버에서 8080 포트로 열어 놓은 후 http://api.playon.tistory.com 을 접속하면 로컬호스트 8080 포트로 접속됩니다.

 

 

 

 

 

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

응용해 보기(접속량 분산)

쇼핑몰을 하나 만들었는데 대박이 났습니다. 접속자가 10,000명이 됩니다.

이때 회원정보와 주문정보가 들어 있는 서버가 있습니다. 이걸 불러 오는 페이지가 있다고 하면 10,000번을 접속해야 하지만 Proxy를 써서 서버를 나누어주면 5,000번씩 접속해서 서버의 부하를 줄여줄 수 있습니다.

<VirtualHost *:80>
  ServerName shop.playon.tistory.com
  ProxyRequests Off
  ProxyPreserveHost On
  <Location /user>
    ProxyPass http://user.playon.tistory.com/
    ProxyPassReverse http://user.playon.tistory.com/
  </Location>
  <Location /order>
    ProxyPass http://order.playon.tistory.com/
    ProxyPassReverse http://order.playon.tistory.com/
  </Location>
</VirtualHost>

이렇게 설정 해 주면 http://shop.playon.tistory.com/user 로 접속하면 http://user.playon.tistory.com 으로 접속이 되어 정보를 받아오게 할 수 있습니다. 마찬가지로 order 도 마찬가지구요.

위에는 그냥 단순 예시일 뿐 접속량을 분산 할 수 있다고 생각하면 될 것 같습니다.

 

 

 

 

응용해 보기(API 쓸때 주소 변경 없이 쓰기)

이용자 관련 API 서버를 하나 만들어서 내부적으로 30개의 서비스에서 사용하고 있습니다.

주소는 http://api.playon.tistory.com/user/ 입니다.

근데 API 서버 초기다 보니 업데이트가 빈번하게 이루어집니다. 30개의 서비스에서 주소를 변경하기가 어렵습니다.

이때 Proxy를 써서 설정하면 좋겠죠.

<VirtualHost *:80>
  ServerName api.playon.tistory.com
  ProxyRequests Off
  ProxyPreserveHost On
  <Location /user>
    ProxyPass http://api.playon.tistory.com/user/v1/
    ProxyPassReverse http://api.playon.tistory.com/user/v1/
  </Location>
</VirtualHost>

이런식으로 해 놓고 ProxyPass와 ProxyPassReverse 부분만 변경 해 주면 API 주소 변경없이 사용할 수 있습니다.

물론 위에 것도 단순 예시이고 이런식으로도 사용 가능하다고 보면 될 것 같습니다.

 

 

 

https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

[출처] https://playon.tistory.com/87

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
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