a.com
이라는 도메인을 가지고 있을 때
localhost에서 만들고 있다고 가정한다면
각각의 url이 해당 앱으로 진입하는 진입 url(?) 이어야 한다.
따라서, 1번 앱은 상관 없겠지만 2번이나 3번 앱은 static 폴더를 설정할 때에도
app.use('/node2', express.static(path.join(__dirname, 'public')));
이렇게 설정하고, 사용할 때에도 <link rel="stylesheet" href="/node2/css/style.css" />
이런식으로 앞에 /node2를 붙여주어야 정상적으로 작동한다.
static 파일들을 import 할 때 뿐만 아니라, ajax 요청할 때에도 마찬가지다!
어쨌든 이렇게 설정을 한 후에 Apache 설정
쪽에서 다음과 같이 연결하면 된다.
<VirtualHost *:443>
ServerName a.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
<Location /node2>
ProxyPass http://localhost:3001/node2
ProxyPassReverse http://localhost:3001/node2
</Location>
<Location /node3>
ProxyPass http://localhost:3002/node3
ProxyPassReverse http://localhost:3002/node3
</Location>
...
</VirtualHost>