Variabili e Condizionali
Variabili
Le variabili in NGINX esistono come variabili di configurazione oppure come variabili di NGINX.
Le variabili possono essere ritornate da una location con una semplice direttiva return:
return 200 $my_var;
# oppure, in una stringa
return 200 "My Var: $my_var\n$nginx_var";
Variabili di configurazione
Sono le variabili che vengono settate direttamente nel file di configurazione.
Per impostare una variabile personalizzata:
set $my_var "My Value";
set $my_int 12;
set $my_bool true;
Variabili di NGINX
Sono le variabili costruite e messe a disposizione direttamente da NGINX. Un reference completo di queste variabili si può trovare qui.
Alcune variabili NGINX utili:
$host: Node del server richiesto (dominio o indirizzo IP)$uri: URI richiesto al server$args: Parametri in GET richiesti al server$arg_arg-name: Restituisce, se passato, il parametro GETarg-name
Condizionali
NGINX permette l'uso di condizionali if.
ATTENZIONE
L'uso di un if all'interno del contesto location è fortemente sconsigliato, poiché potrebbe portare a dei comportamenti inaspettati.
Più informazioni qui
# Esempio di sintassi
# Controlla la presenza di una chiave API
if ($arg_apikey != 1234) {
return 401 "Incorrect API key";
}
# Se, per ogni URL, non viene passato l'argomento apikey con
# valore 1234, il server restituisce l'errore 401
location /greet {
# ...
}
ATTENZIONE
Per ottenere una configurazione valida, è necessario rispettare la presenza degli spazi tra if e la prima parentesi.
Si possono comparare variabili con delle RegEx:
set $weekend false;
if ($date_local ~ 'Saturday|Sunday') {
set $weekend true;
}
'''