同じサーバー上の複数の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

おすすめ記事