Jak mogę blokować żądania z niewłaściwym zestawem nagłówków hosta?

12

Używam nginx do obsługi mojej witryny. Chciałbym zablokować wszystkie żądania przychodzące z nagłówkiem HTTP „Host”, który nie pasuje do domeny mojej witryny.

Aby być bardziej konkretnym, mój plik nginx.conf zawiera te dwa bloki serwera:

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

Chciałbym zablokować (tzn. „Zwrócić” kod statusu 444) wszelki ruch, którego Host nie jest www.olddomain.com, olddomain.com, www.newdomain.com lub newdomain.com. Jak mogę to zrobić?

bdesham
źródło

Odpowiedzi: