Neste tutorial, discutiremos rapidamente como usar a diretiva try_files e aprenderemos quando e como usá-la:
O que é a diretiva try_files e como ela funciona?
Normalmente usamos a diretiva Nginx try_files para verificar recursivamente se os arquivos existem em uma ordem específica e servir o arquivo localizado primeiro.
A diretiva try_file está nos blocos de servidor e localização e especifica os arquivos e diretórios nos quais o Nginx deve verificar se há arquivos se a solicitação para o local especificado for recebida. Uma sintaxe de diretiva try_files típica é a seguinte:
localização /try_files $ uri $ uri / / default / index.html;
O local / bloco especifica que esta é uma correspondência para todos os locais, a menos que seja explicitamente especificado local /
Dentro do segundo bloco, o try_files significa que se o Nginx receber uma solicitação para o URI que corresponda ao bloco no local, tente o $ uri primeiro, e se o arquivo estiver presente, forneça o arquivo.
Por exemplo, se uma solicitação como https: // linuxhint.com / blocks / io.sh for recebido, o Nginx primeiro procurará o arquivo dentro do diretório / blocks e servirá o arquivo se disponível.
A próxima parte (/ default / index.html) especifica uma opção de fallback se o arquivo não estiver no primeiro parâmetro. Por exemplo, se o arquivo não estiver no diretório / block, o Nginx pesquisará o diretório / default e servirá o arquivo se ele existir.
Por padrão, o Nginx proíbe a listagem de diretórios e você obterá 403 Forbidden a menos que tenha o índice automático ativado.
Se o Nginx não conseguir encontrar o arquivo nos locais especificados, ele exibirá um erro 404 não encontrado para o usuário.
NOTA: A diretiva Nginx try_files procura recursivamente por arquivos e diretórios especificados da esquerda para a direita até encontrar alguns. Especificar esta diretiva no local / pode causar problemas de desempenho, especialmente em sites com tráfego intenso. Portanto, você deve especificar explicitamente o bloco de localização para try_files.
Conclusão
Este guia rápido e simples oferece uma visão geral de como o Nginx try_block funciona. Recomendamos mergulhar fundo na documentação do Nginx para entender vários blocos e quando usá-los.
- https: // nginx.org / en / docs / http / ngx_http_core_module.html # try_files
- https: // docs.nginx.com / nginx / admin-guide / web-server / serving-static-content /