반응형
기존 PHP + Apache 를 사용해 웹서버를 사용하던 중 node 서버를 사용할 일이 생기게 되었다.
express 의 포트 번호를 아파치와 분리하면 될 일 이지만, 여간 귀찮은게 아니므로 서브도메인과 프록시 설정을 통해
xxx.com 은 기존 PHP를 사용한 웹서버로, node.xxx.com 은 express 를 사용한 웹서버로 이동하게 하는 것이 목적이다.
DNS CNAME 서브도메인 설정이 되어있다는 가정하에 진행하겠다.
Reverse Proxy
apache 경로 /etc/apache2/sites-available/ 아래에 node.xxx.com 에 대한 conf 파일을 작성해준다.
http의 기본 포트는 80, express 의 포트번호는 9000으로 설정하였기 때문에, 다음과 같이 설정해준다.
#node.xxx.com.conf
<VirtualHost *:80>
ServerName node.xxx.site
ProxyPreserveHost on
ProxyPass / http://localhost:9000/
</VirtualHost>
node.xxx.com:80 포트로 들어오는 모든 요청에 대해, 9000 포트로 접속된다.
이 외에도 여러 설정을 추가할 수 있으니 참고하자.
https://httpd.apache.org/docs/2.4/sections.html
설정 파일 작성이 완료되었다면, 모듈을 로드해주고 아파치를 재시작 혹은 리로드 해주자
a2enmod proxy
a2enmod proxy_http
a2ensite node.xxx.com (도메인)
systemctl reload apache2.service
완료
- 참고 문서
반응형