同じ IP とポートで nginx 上で 2 つの React アプリを提供する方法

同じ IP とポートで nginx 上で 2 つの React アプリを提供する方法

2 つのアプリケーションがあり、1 つはパブリックで、もう 1 つは管理者です。これらの 2 つのアプリケーションを同じポートで提供したいのですが、うまくいきません。以下は私の構成ファイルです。

両方のアプリのビルドフォルダは以下のディレクトリに保存されます

/var/www/html/admin/ビルド

/var/www/html/public/build

設定ファイル:

server{
    listen 80;
    server_name 192.xx.xx.42;
    
   location /public {
    root /var/www/html/public/build;
    index login.html;
   }
   
   location /admin {
      root /var/www/html/admin/build;
      index login.html
   }
}

答え1

nginx は、ディレクティブで指定されたパスの後に URL の URI 部分を追加しますroot

つまり、URI を要求すると、nginx はディレクトリ/public内のファイルを検索します。/var/www/html/public/build/public/

rootを に変更することもできますalias。その場合、URI 部分はパスに追加されず、ファイル名のみが追加されます。

関連情報