알아봅시다 Apache Reverse Proxy 설정(아파치와 노드 연동)
2019.12.23 19:54
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 포트로 접속됩니다.
응용해 보기(접속량 분산)
쇼핑몰을 하나 만들었는데 대박이 났습니다. 접속자가 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
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 17 |
[알아봅시다] 원자로의 미래는 작을 수 있다”...전 세계가 뛰어든 SMR은 무엇
| 졸리운_곰 | 2023.01.22 | 247 |
| 16 |
[알아봅시다][물리학][시공간] [사이언스N사피엔스]시간과 공간이 아닌 시공간
| 졸리운_곰 | 2021.04.01 | 212 |
| 15 |
"우주 나이는 137억7천만년±4천만년"…허블상수 논쟁 해결 난망
| 졸리운_곰 | 2020.07.17 | 253 |
| 14 |
태양 표면 작은 폭발까지 드러낸 최근접 태양 이미지들
| 졸리운_곰 | 2020.07.17 | 302 |
| 13 |
[사이언스&사피엔스] 전자기학의 완성
| 졸리운_곰 | 2020.07.12 | 340 |
| 12 |
우주 생명체 '씨앗' 탄소 뿌리고 스러지는 백색왜성
| 졸리운_곰 | 2020.07.09 | 285 |
| 11 |
태양계 무게중심 100m 이내로 오차 줄여 블랙홀 연구 도약
| 졸리운_곰 | 2020.07.08 | 200 |
| 10 |
[잠깐과학]'우주배경복사' 발견하다
| 졸리운_곰 | 2020.07.06 | 300 |
| 9 |
초소형 블랙홀인가 초대형 중성자별인가...중력파로 발견한 미지의 천체
| 졸리운_곰 | 2020.06.30 | 183 |
| 8 |
[사이언스N사피엔스] 열역학과 엔트로피
| 졸리운_곰 | 2020.06.28 | 402 |
| 7 |
목성 위성 유로파 얼음층 밑 대양 "생명체가 꽤 서식할만한 곳"
| 졸리운_곰 | 2020.06.27 | 182 |
| 6 |
'무거운 중성자별일까 가벼운 블랙홀일까' 중력파로 미지의 천체 찾았다
| 졸리운_곰 | 2020.06.27 | 235 |
| 5 |
'1조분의 1초'만에 원자가 분자로 바뀌는 전 과정 세계 최초 포착
| 졸리운_곰 | 2020.06.27 | 346 |
| 4 |
[프리미엄리포트] ‘핵’ 빠르게 던지는 가속기
| 졸리운_곰 | 2020.06.27 | 173 |
| 3 |
"우주는 훌륭한 양자역학실험실…ISS서 BEC실험 첫 성공"
| 졸리운_곰 | 2020.06.15 | 172 |
| 2 |
우주 미스터리 풀어줄 157일 주기 '빠른 전파 폭발' 확인
| 졸리운_곰 | 2020.06.14 | 246 |
| 1 | 알파 센타우리 | 졸리운_곰 | 2019.01.23 | 511 |


Hello,
Can you hide the URL in the previous post ?
Yes it's work, I can connect to Traccar.
But now, after connection I have this error : Web socket connection error
And many errors about API in the developper console :
Errors developper console
I have change the config like this :
ProxyPass /traccar/api/socket/ ws://192.168.1.103:8082/api/socket/
ProxyPassReverse /traccar/api/socket/ ws:///192.168.1.103:8082/api/socket/
ProxyPass /traccar/ http://192.168.1.103:8082/
ProxyPassReverse /traccar/ http://192.168.1.103:8082/
But no work...
I have also test with one virtual machine with Traccar + Apache2 : it's the same, no work and same errors...
Thank you
Adrien