Il proxy non rifiuta l'intestazione dell'host illegale quando proviene dalla rete del mio provider VM

1

Ho un'app django ospitata su una VM linodo, con proxy di nginx su quella stessa VM.

Nella mia configurazione di nginx ho un blocco per negare le richieste di intestazione host male :

## Deny illegal Host headers
if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {
    return 444;
}

Questo blocca quasi tutte le richieste errate, ma ricevo comunque richieste occasionali da un host casuale di linode (l'app mi invia un'email a causa del fatto che questo host non si trova nella whitelist ALLOWED_HOSTS ). Perché queste richieste sono in grado di superare Nginx?

    
posta Escher 15.04.2017 - 23:58
fonte

1 risposta

3

$host verrà impostato su $server_name se il client non fornisce un valore di intestazione host nella richiesta. Dovresti usare $http_host per accedere all'intestazione di puro Host.

Vedi questo documento per i dettagli.

    
risposta data 16.04.2017 - 11:42
fonte

Leggi altre domande sui tag