2016-02-11 5 views
7

Ho bisogno di nginx per rifiutare le richieste se l'intestazione StaticCookie non è presente. Non mi interessa il suo valore, ho solo bisogno che esista.nginx rifiutare la richiesta se l'intestazione non è presente

Quello che mi è venuto in mente è questo, ma questo non funziona. Nginx consente le richieste senza intestazioni.

if ($http_StaticCookie = false) { 
     return 403; 
    } 



    root /usr/share/asuno/www; 

    location ~* /css/ { 
     expires max; 
    } 

    location ~* /js/ { 
     expires max; 
    } 

Ho visto questo post - Nginx: Reject request if header is not present or wrong - ma si tratta di valori di intestazione definiti. Quello di cui ho bisogno è controllare la semplice esistenza dell'intestazione.

Ho provato a mettere le direttive location all'interno della clausola if ma poi nginx genera errori nel tentativo di leggere la configurazione.

Come si può fare?

+5

Perché lo si confronta con 'false'? 'if ($ http_StaticCookie =" ") {return 403; } ' –

risposta

5

il commento di Alexey Ten è corretto, grazie.

if ($http_StaticCookie = "") { return 403; }