Puncte:1

Cum să gestionați cererile către subdomenii inexistente cu Nginx

drapel in

Iată configurația mea Nginx pentru domeniul meu exemplu.com care servește un site web static banal.

Server {
    rădăcină /var/www/example.com;

    index index.html index.htm index.nginx-debian.html;

    nume_server example.com www.example.com;

    Locație / {
        try_files $uri $uri/ =404;
    }

    asculta [::]:443 ssl ipv6only=on; # gestionat de Certbot
    asculta 443 ssl; # gestionat de Certbot

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestionat de Certbot
    includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
}

Server {
    asculta 80;
    asculta [::]:80;
    nume_server example.com www.example.com;
    returnează 301 https://$host$request_uri;
}

Cum configurez Nginx să returneze 404 ori de câte ori navighez la un subdomeniu, cum ar fi asdf.example.com? Acum mă trezesc uitându-mă la aceeași pagină ca exemplu.com.

Am setat o înregistrare A wildcard pentru domeniul meu, așa că aștept ca toate solicitările să se încheie cu exemplu.com pentru a-mi găsi serverul. Trebuie să elimin wildcard-ul sau pot gestiona aceste solicitări către subdomenii cu Nginx?

Ivan Shatsky avatar
drapel gr
Pentru a nu mă repeta - verificați [this](https://stackoverflow.com/a/69825652/7121513) Așa că răspundeți, cred că veți găsi acolo toate informațiile de care aveți nevoie.
Puncte:0
drapel cn

Nginx numele serverului configurația permite expresii regulate, sau chiar mai simple * wildcard, vezi https://nginx.org/en/docs/http/ngx_http_core_module.html#server_name

Deci, oricare dintre aceste două ar trebui să se potrivească cu orice nume (nu se potrivește mai bine cu un alt bloc)

nume_server *.example.com
nume_server ~^.+\.example\.com$

(~ este necesar pentru a utiliza o expresie regulată).

Puteți chiar să capturați părți ale numelui și să le utilizați în directivele de configurare ulterioare. Linkul de documentație de mai sus are exemple în acest sens.

Și aveți nevoie de wildcard DNS, altfel traficul nu va ajunge la serverul dvs. web (sau dacă nu există un wildcard DNS, aveți nevoie de înregistrări specifice pentru numele pe care doriți să le rezolvați, indiferent câte dintre ele, și păstrați în continuare configurația „wildcard” din Nginx)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.