Comment puis-je bloquer les demandes avec le mauvais ensemble d'en-têtes d'hôte?

12

J'utilise nginx pour servir mon site Web. Je voudrais bloquer toutes les demandes qui viennent avec un en-tête HTTP «Host» qui ne correspond pas au domaine de mon site.

Pour être plus concret, mon nginx.conf contient ces deux blocs serveurs:

server {
    # Redirect from the old domain to the new domain; also redirect
    # from www.newdomain.com to newdomain.com without the "www"
    server_name www.olddomain.com olddomain.com www.newdomain.com;
    listen 80;
    return 301 $scheme://newdomain.com$request_uri;
}

server {
    server_name newdomain.com localhost;
    listen 80;

    # Actual configuration goes here...
}

Je souhaite bloquer (c'est-à-dire «renvoyer» un code d'état 444) tout trafic dont l'hôte n'est pas www.olddomain.com, olddomain.com, www.newdomain.com ou newdomain.com. Comment puis-je faire ceci?

bdesham
la source

Réponses: