동일한 서버에서 여러 ReactJS 애플리케이션에 대해 nginx를 설정하는 중에 오류가 발생했나요?

동일한 서버에서 여러 ReactJS 애플리케이션에 대해 nginx를 설정하는 중에 오류가 발생했나요?

여러 모듈로 솔루션을 구축 중입니다. 각 모듈은 ReactJs 애플리케이션이며 동일한 도메인에 게시하도록 nginx를 구성하려고 합니다. 몇 가지 예:

http://applicationdomain/승인하다
http://applicationdomain/행정
http://applicationdomain/계기반
http://applicationdomain/판매량

내 nginx 공개 디렉토리는 다음과 같습니다:

|---/var/www
|----/auth
|----/admin
|----/dashboard
|----/sales

여기서 auth, admin, Dashboard 및 sales는 각 프로젝트의 하위 폴더입니다.

내 nginx 서버 구성:

server {
 listen 9000 default_server;
 listen [::]:9000 default_server;
 server_name localhost;

 index index.html;

 location / {
    root /var/www/auth;
 }

 location /admin { 
   root /var/www;
 }

 location /dashboard {
   root /var/www;
 }

 location /sales {
   root /var/www;
 }
}

각 프로젝트의 하위 폴더는 아래와 같은 유사한 구조를 갖습니다.

여기에 이미지 설명을 입력하세요.

문제는 접근할 때이다.http://applicationdomain/관리자예를 들어 애플리케이션은 하위 폴더 프로젝트 대신 루트 디렉터리에 정적 파일을 로드하려고 시도합니다.

GET http://localhost:9000/static/js/main.6314dcaa.js net::ERR_ABORTED

올바른 일은 파일을 얻는 것입니다행정하위 폴더는 다음과 같습니다.

GET http://localhost:9000/admin/static/js/main.6314dcaa.js

이에 대해 nginx 구성을 수정하는 더 좋은 방법은 무엇입니까?

답변1

나는 다음과 같이 각 위치의 루트 섹션을 확장하여 달성하려는 작업을 수행할 수 있다고 생각합니다.

 location /admin { 
   root /var/www/admin;
 }

 location /dashboard {
   root /var/www/dashboard;
 }

 location /sales {
   root /var/www/sales;
 }

하지만 이건 그냥 갖는 것과 똑같아

location / {
  root /var/www/
}

에 대한 호출 http://application-domain/admin/var/www/admin.

/var/www/첫 번째 솔루션은 say 에 액세스할 위치 규칙이 없기 때문에 다른 것을 숨깁니다 http://application-domain/private.

관련 정보