nginx выбирает location не по порядку в конфиге, а по приоритету типа: = (точное совпадение) → ^~ (префикс, останавливает regex) → ~/~* (regex, первый совпавший) → обычный префикс (самый длинный).
Частая ошибка — ожидать, что regex-блок перекроет ^~. Если ^~ совпал первым, поиск regex не продолжается. Проверить какой location сработает для конкретного пути: nginx -T + curl -sI http://localhost/path -o /dev/null -w "%{http_code}".
#nginx #webserver #config #linux #sysadmin
