Acho que a solução está em um local aninhado. Então, "location / api / files" deve estar dentro do seu bloco de localização do php. Sua configuração fastcgi deve ser herdada no local "arquivos".
location ~* \.php$ {
try_files $uri =404;
fastcgi_pass backend;
# [...]
location /api/files {
client_max_body_size 10m;
}
}
Se você tem arquivos de localização / api / fora do seu local do php, o nginx iria encontrar 'api / files' e lembrá-lo. Mas antes de usá-lo, ele iria verificar se há um local com uma expressão regular correspondente, que seria o local do php para solicitações de arquivos php. Em seguida, ele usaria o local do php e descartaria 'location api / files'.