He encontrado algunas preguntas y respuestas aquí que usan esta sintaxis:
location @default {
# ...
}
location /somewhere {
try_files $uri @default;
}
He buscado por todas partes en Google y parece que no puedo encontrar ninguna documentación al respecto. ¿Qué significa y cuáles son algunos de sus usos prácticos? ¿Es algún tipo de declaración y asignación de variables? Perdón por la pregunta de novato.
En el ejemplo que cita en su pregunta:
Si la solicitud entrante se recibe en http: // su-dominio / en algún lugar , entonces la ubicación coincide con / en algún lugar e intenta en dos lugares secuencialmente encontrar una respuesta, como lo especifica la directiva try_files, respondiendo con el primer intento exitoso.
location @default
. Una ubicación nombrada nunca coincidirá con una solicitud entrante, y se usa como referencia para especificar la respuesta en otras directivas de ubicación.De esta manera, se puede evitar una instrucción if (si el archivo existe, luego úselo, de lo contrario responda como se especifica en la directiva location @default). Por lo tanto, se puede usar como una abreviatura para una condición if. Los autores de nginx definitivamente (" si es malo" ) consideran que las declaraciones "If" están "mal vistas", ya que tienen algunas limitaciones y pueden no dar el resultado esperado.
fuente