ルート ハンドラーが nginx のロケーション宣言を壊すのはなぜですか?

ルート ハンドラーが nginx のロケーション宣言を壊すのはなぜですか?

ルート ハンドラーが nginx のサブパスの場所を上書きするのはなぜですか?

私はnginxで2つのレベルで作業しています/***/core/

私は次のことが起こることを望みます:

  1. /fun/誰かが別のサーバーにproxy_passを呼び出すと
  2. /notfun/誰かが別のサーバーにproxy_passを呼び出すと
  3. 誰かが電話をかけてきたら/core/、index.html を返します。
  4. 誰かが電話をかけてきたら/core/file.html、ファイルがある場合はそのファイルを返す
  5. 誰かが呼び出したとき/core/thing/、ファイルが存在しない場合は、index.html を返します。

誰かが電話をかけてきた場合、404を生成することはできないはずです/core/****

私の所在地の宣言は次のとおりです。

    location / {
      set $a_url nginx.router;
      proxy_pass https://$a_url;
    }

    location /core/ {
      alias /app/;
      try_files $uri $uri/ /index.html;
    }

location /宣言を追加すると、要件 5 が破られるのはなぜですか?

[17/Dec/2020:23:37:16 +0000] "GET /core/aaaa HTTP/1.1" 404 153 "-" "curl/7.64.0"

関連情報