a.com이라는 도메인을 가지고 있을 때
- a.com: Node.js 앱 1번
- a.com/node2: Node.js 앱 2번
- a.com/node3: Node.js 앱 3번
으로 연결을 해야하는 일이 생겼다.
localhost에서 만들고 있다고 가정한다면
- 1번 앱 -> localhost:3000
- 2번 앱 -> localhost:3001/node2
- 3번 앱 -> localhost:3002/node3
각각의 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>
'개발 > 리눅스' 카테고리의 다른 글
Apache와 Node.js 연결하기 (도메인 연결) (1) | 2024.07.01 |
---|---|
[CentOS 8] MariaDB 설치 (0) | 2024.07.01 |
[CentOS 8] 한글 입력 설정 (0) | 2024.06.30 |
[CentOS 8] VirtualBox에 CentOS 설치 (0) | 2024.06.30 |
[Linux/Ubuntu] 명령어 정리 (2) | 2024.06.30 |