2015년 12월 4일 금요일

Webtob와 Node.js 연동하기

Node.js는 http모듈을 내장하고 있기 때문에 자체만으로도 웹 서버로 동작할 수 있다.

그러나 새로운 서비스를 Node.js로 구현하려고 하는데, 새로 살 서버는 없고 기존의 서버를 재활용해야 하는데 기존 서버들은 이미 웹서비스가 돌아가고 있어 80포트가 이미 사용 중이다.

이렇게 되면 Node.js로 웹 어플리케이션 하나를 만들어도 80포트를 쓸 수가 없기 때문에 접속하려면 URL 뒤에 포트번호를 붙여야된다고 하는 형태가 되어 버린다.

어떻게 방법이 없을까?

검색을 해보니 이런 고민을 하는 사람들이 많은지 아파치 웹서버의 프록시 서버 기능을 사용하여 80포트로 접근하면 웹서버에서 Node.js로 돌아가고 있는 서비스로 던져주게끔 구현한 사례들을 찾을 수 있었다.

그런데 회사에서는 아파치가 아니라 Webtob를 사용한다.

티맥스 테크넷에 접속해서 Webtob의 프록시 서버 설정하는 부분을 찾아보았다.

관리자 문서 중에 REVERSE_PROXY 절이라는 부분을 읽고 개발 서버에 적용해보았는데 예상 외로 놀랍도록 간단하다.

Webtob의 http.m 파일을 열어 VHOST 절에 Node.js기반으로 구동되는 웹 어플리케이션의 호스트네임 URL와 사용할 PORT를 설정한다. 그리고 REVERSE_PROXY라는 절을 새로 만들어 적용대상 VHOST네임에 아까 설정한 웹 어플리케이션의 VHOST 네임을 적고 요청받은 URL의 컨텍스트 Path와 변경하여 전달할 Path, 그리고 내부에서 접근가능한 웹 서비스 주소를 설정한다.

(이 예시에서는 Node.js가 3000번 포트 사용)

http.m 파일을 컴파일하고 나서 Webtob서비스를 재시작하면 80포트로 접근가능.

댓글 없음:

댓글 쓰기

Kotlin, SpringBoot 3, GraalVM 환경에서 Native Image로 컴파일하여 애플리케이션 실행

Spring Boot 3부터, GraalVM Native Image를 공식 지원하여 애플리케이션의 시작 속도와 메모리 사용량을 크게 줄일 수 있다. Native Image란 기존의 JVM 기반 위에서 돌아가는 Java 애플리케이션과는 달리 JVM 없이...