Quando não especificado, a diretiva index tem um padrão implícito de index.html . Qual está presente em sua raiz do original. (Veja a documentação abaixo que eu incluí detalhando padrões e tal)
Se você quiser alterar o que ele serve como sua página de índice, você precisa definir uma nova diretiva index , de forma que você adicione isso ao bloco / location ou aplique-o globalmente apenas colocando-o fora dos blocos de localização, mas ainda dentro do seu bloco de servidores:
index nginx.html;
Isso diz ao nginx para procurar um arquivo de índice diferente.
O problema que você está vendo é porque o / bloco de localização somente se aplica se você tiver o / especificado e porque você não permite autoindex e porque /whatever é seu URI e que não existe como um arquivo ou diretório, ele volta para sua terceira opção, o arquivo nginx.html . Eu sei que isso é contra-intuitivo, como um URI vazio ou um / URI normalmente significa "Processar isso pelo bloco location / { } , mas é mais implícito no mundo que isso leva você para a home page ou página de índice de um dado website, e é por isso que existe a diretiva index .
Você precisa dizer ao sistema o que tratar como um arquivo de índice para qualquer configuração. Você não pode confiar somente em try_files no seu bloco / location, você tem que dizer qual deve ser o seu arquivo de índice. Eu sempre defino isso mesmo que os padrões funcionem bem para mim.
Observe que, se você não definir um URI, try_files retornará à diretiva index , portanto, uma solicitação para http://foobarbaz.foo:8510 alcançará o bloco do servidor nginx que atende na porta 8510 para o nome do servidor / $HOST pedido registro de foobarbaz.foo , com um URI vazio, e tecnicamente vai ter nginx, internamente, tentar e servir o padrão index.html página de índice por causa de sua configuração não especificando um% diferenteindex para servir para qualquer tipo de pedido.
A partir da documentação nginx relacionada da diretiva index :
Syntax:
indexfile ...;
Default:index index.html;
Context:http, server, locationDefine arquivos que serão usados como um índice. O nome do arquivo pode conter variáveis. Os arquivos são verificados na ordem especificada. O último elemento da lista pode ser um arquivo com um caminho absoluto. Exemplo:
index index.$geo.html index.0.html /index.html;Deve-se observar que o uso de um arquivo de índice causa uma redirecionar e a solicitação pode ser processada em um local diferente. Por exemplo, com a seguinte configuração:
location = / { index index.html; } location / { ... }... uma solicitação "/" será processada no segundo local como "/Index.html".
