ServBay에서 리버스 프록시로 Node.js 웹사이트 추가하기
ServBay는 다양한 기술 스택을 네이티브로 지원하는 올인원 로컬 웹 개발 환경입니다. Node.js도 그중 하나입니다. 이 글에서는 리버스 프록시 기능을 활용해, 독립적으로 실행 중인 Node.js 애플리케이션을 ServBay의 웹사이트 관리 체계에 통합하는 방법을 상세히 안내합니다. 이렇게 하면 ServBay의 통합 진입점(예: 사용자 정의 도메인, SSL 인증서)을 활용해 Node.js 개발 프로젝트에 손쉽게 접근하고 관리할 수 있습니다.
개요
ServBay에서는 자체 내장된 Node.js를 실행해 직접 애플리케이션을 구동할 수도 있지만(예: ServBay 패키지로 Node.js 설치 후 스크립트 실행), 이미 특정 포트에서 구동 중인 Node.js 앱을 리버스 프록시 방식으로 ServBay 웹사이트에 추가하는 방법이 널리 사용됩니다. 이 방식은 도메인 라우팅, SSL/TLS 종료 등 ServBay의 네트워크 설정 능력을 활용해 Node.js 앱의 접근을 효과적으로 관리할 수 있게 해줍니다. 아래 안내를 따라 설정을 진행하세요.
사전 준비
시작하기 전에 다음 사항을 확인하세요:
- macOS에 ServBay가 정상적으로 설치되어 있어야 합니다.
- Node.js 프로젝트가 로컬에서 실행 중이며, 특정 포트(예:
8585
)를 리슨하고 있어야 합니다.
단계별 안내
1단계: Node.js 프로젝트 실행
먼저, Node.js 프로젝트가 로컬에서 지정한 포트로 정상적으로 실행되고 있어야 합니다. 익숙한 방법대로 Node.js 앱을 구동하세요.
예를 들어, Vue.js 프로젝트의 개발 서버가 포트 8585
에서 실행 중이라고 가정합니다:
bash
$ npm run dev -- --port 8585
Server running at http://localhost:8585/
1
2
2
Node.js 앱이 리슨 중인 IP 주소(보통 127.0.0.1
)와 포트를 꼭 메모해두세요.
2단계: ServBay 관리 인터페이스 열기
macOS 애플리케이션 폴더에서 ServBay
아이콘을 찾아 더블클릭하여 ServBay를 실행합니다.
3단계: 웹사이트 관리로 이동
ServBay가 실행되면, 메인 화면이 나타납니다. 좌측 메뉴에서 웹사이트를 클릭하세요. 이 페이지에서 ServBay로 호스팅 또는 프록시되는 모든 웹사이트를 관리할 수 있습니다.
4단계: 새 웹사이트 추가
웹사이트 관리 하단에서 +
버튼을 클릭하세요. 새 웹사이트 설정을 위한 입력 폼이 열립니다.
5단계: 웹사이트 설정 구성
새 웹사이트 추가 폼에서, 리버스 프록시 설정을 위해 아래 항목을 입력하세요.
- 이름 (Name): 웹사이트 구분용 이름을 정하세요. 예:
My Node.js App
. 이는 ServBay UI 내 표시용입니다. - 도메인 (Domain): 브라우저에서 이 Node.js 앱에 접근할 로컬 도메인을 입력하세요.
.servbay.demo
(예:nodejs.servbay.demo
) 사용을 권장합니다. ServBay가127.0.0.1
로 로컬 DNS를 자동 설정합니다. - 프로토콜 (Protocol): 보통 기본값인
HTTP/HTTPS
그대로 사용합니다. ServBay가 HTTP와 HTTPS 포트를 모두 리슨합니다. - SSL 인증서 방식 (SSL Certificate Method): 개발 환경에서는
ServBay CA
선택이 강력히 권장됩니다. ServBay가 자체 CA로 자동 SSL 인증서를 발행·설치해줍니다. 시스템과 브라우저에 ServBay 루트 인증서를 설치·신뢰하면 인증서 경고 없이 HTTPS로 접속할 수 있습니다.ServBay Public CA
또는ACME
(공신력 인증서 발급용)도 선택 가능하나, 주로 외부 접근을 위한 경우입니다. - 웹사이트 유형 (Site Type): **반드시
Reverse Proxy(리버스 프록시)
**를 선택하세요. 이 설정은 해당 도메인 요청을 다른 서버로 중계하도록 ServBay에 지시합니다. - IP 주소 (IP Address): Node.js 앱이 리슨하는 IP를 입력합니다. 로컬 개발에서는 보통
127.0.0.1
을 사용합니다(루프백 주소). - 포트 (Port): Node.js 앱이 리슨하는 포트 번호를 입력합니다(예:
8585
). ServBay는 이 주소(127.0.0.1:8585
)로 트래픽을 중계합니다.
6단계: 완료 및 저장
모든 필수 설정 입력 후, 폼 하단의 추가 (Add)
버튼을 클릭하세요. ServBay가 설정을 저장하고 관련 내부 설정(웹 서버, DNS 등)을 자동 갱신합니다.
저장이 완료되면 ServBay 웹사이트 목록에 nodejs.servbay.demo
항목이 나타납니다. 이제 브라우저에서 설정한 도메인(예: http://nodejs.servbay.demo
또는 https://nodejs.servbay.demo
)으로 Node.js 앱에 접속할 수 있습니다. 웹사이트 항목 옆의 브라우저 아이콘을 클릭하면 접속이 빠르게 가능합니다.
7단계: 빠른 액션
ServBay는 각 웹사이트별로 다양한 빠른 액션 버튼을 제공하며, 웹사이트 목록 오른쪽에 위치합니다:
- IDE로 웹사이트 루트 열기: 리버스 프록시 사이트의 경우, 이 버튼은 Node.js 프로젝트 폴더가 아니라 ServBay 기본 웹사이트 디렉터리(
/Applications/ServBay/www
) 또는 지정된 디렉터리로 연결될 수 있습니다. - 브라우저로 웹사이트 열기: 웹사이트 URL을 기본 브라우저로 곧바로 엽니다.
- 웹사이트 로그 보기: ServBay 웹 서버(Caddy, Nginx 등)가 해당 사이트용으로 생성한 액세스/에러 로그를 확인합니다. 디버깅에 유용합니다.
- 웹사이트 일시중지/재개: 일시적으로 사이트 접근을 막거나 재개할 수 있습니다.
- 웹사이트 삭제: 해당 웹사이트 설정을 ServBay에서 제거합니다.
자주 묻는 질문 (FAQ)
- 도메인으로 접속시 ServBay 기본 페이지 또는 오류가 나타나나요?
- Node.js 앱이 올바른 IP 및 포트에서 실행 중인지 확인하세요.
- ServBay 사이트 설정의 IP/포트가 Node.js 앱의 리슨 주소·포트와 정확히 일치하는지 체크하세요.
- ServBay 프로그램이 실행 중인지 확인하세요.
.servbay.demo
도메인 사용 시, ServBay의 DNS 서비스가 정상 동작하는지, 그리고 macOS 네트워크 설정이 해당 도메인 해석을 ServBay가 대체하도록 허용했는지 확인하세요.
- HTTPS 접속 시 인증서 경고가 나타나나요?
ServBay CA
를 선택했다면, ServBay 루트 인증서를 시스템과 브라우저에 반드시 신뢰로 설치해야 합니다. ServBay 내 인증서 설치 기능을 활용하세요.ServBay Public CA
또는ACME
를 선택한 경우, 인증서가 정상 발급·적용되었는지 확인하세요.
요약
리버스 프록시 기능을 통해 ServBay는 로컬에서 구동 중인 Node.js 애플리케이션을 효율적으로 통합, 관리할 수 있는 강력한 방법을 제공합니다. 자유로운 도메인 지정과 자동 SSL 인증서 관리 등 ServBay의 강력한 웹서버 기능을 활용하면 Node.js 개발 프로젝트에 대한 통합적인 접근성과 관리 편의성을 누릴 수 있습니다. 본 가이드의 순서를 따라하면, ServBay 환경에서 손쉽게 Node.js 웹사이트를 구성하고 접속할 수 있습니다.