¿Por qué el controlador raíz rompe la declaración de ubicación en nginx?

¿Por qué el controlador raíz rompe la declaración de ubicación en nginx?

¿Por qué mi controlador raíz anula la ubicación de mi subruta en nginx?

Tengo 2 niveles con los que estoy trabajando en nginx: /***y/core/

Me gustaría que ocurriera lo siguiente:

  1. Cuando alguien llama /fun/: proxy_pass a un servidor diferente
  2. Cuando alguien llama /notfun/: proxy_pass a un servidor diferente
  3. Cuando alguien llama /core/: devuelve index.html
  4. Cuando alguien llama /core/file.htmly HAY un archivo, devuelve el archivo.
  5. Cuando alguien llama /core/thing/, y ​​NO HAY archivo, devuelve index.html

No debería ser posible generar un 404 si alguien llama/core/****

Mis declaraciones de ubicación son las siguientes:

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

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

¿Por qué cuando agrego la location /declaración, los requisitos tienen 5 saltos?

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

información relacionada