apache2 와 nodejs 연동


리눅스 서버에서 apache2를 이용해서 웹서버를 가동할 수 있습니다. 여러가지 설정이 잘 되어 있다면 서버의 도메인 주소(예:mydomain.com) 으로 접속하면 서버의 80포트로 웹 접속을 할 수 있습니다.

같은 서버에서 nodejs 를 이용해서 서버를 특정 포트(예: 5004)를 통해 동작시킬 경우, 서버 도메인으로 접속하면 포트가 서로 맞지 않아 nodejs 로 구현한 서버에 접근을 할 수가 없습니다. 물론 mydomain.com:5004 로 접근하면 nodejs 서버에 접속이 가능합니다만, 주소에 숫자를 붙여줘야하는 것이 아름답지 않습니다.

그래서! mydomain.com 으로 접속한 이용자를 내부 5004 번 포트로 연결시켜주면 아름답게 접속이 가능해집니다.

apache2의 mydomain.com 설정파일을 수정하면 가능한 일입니다. 보통 /etc/apache2/sites-available/ 안에 설정파일이 있습니다. 예를 들면 mydomain.com.conf 정도 될 것입니다.

이 파일을 열어서 불필요한 DocumentRoot 는 주석처리를 하고, 아래처럼 Proxy 설정을 추가해 주면 됩니다.

<VirtualHost *:80>
...

ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:5004/
ProxyPassReverse / http://localhost:5004/

...
</VirtualHost>


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다