Почему корневой обработчик нарушает декларацию местоположения в nginx?

Почему корневой обработчик нарушает декларацию местоположения в nginx?

Почему мой корневой обработчик переопределяет расположение моего подпути в nginx?

У меня есть 2 уровня, с которыми я работаю в nginx: /***и/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"

Связанный контент