Wie kann ich Anforderungen mit dem falschen Host-Header blockieren?

11

Ich benutze Nginx, um meine Website zu bedienen. Ich möchte alle Anfragen blockieren, die mit einem HTTP-Host-Header eingehen, der nicht mit der Domain meiner Site übereinstimmt.

Um genauer zu sein, enthält meine nginx.conf diese beiden Serverblöcke:

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...
}

Ich möchte jeden Datenverkehr blockieren (dh einen 444-Statuscode zurückgeben), dessen Host nicht www.olddomain.com, olddomain.com, www.newdomain.com oder newdomain.com ist. Wie kann ich das machen?

bdesham
quelle

Antworten: