Puncte:0

NGINX gestionează unele evenimente/coduri de eroare fără ca acestea să fie configurate implicit în configurație?

drapel nl

Întrebare: Există unele evenimente/coduri de eroare pe care NGINX le gestionează în mod implicit?

Fundal: Următoarea porțiune a configurației mele oprește legătura rapidă și returnează o eroare 403.

    locație ~* \.(jpg|png|svg|webp|ico)$ {
        valid_referers niciunul nu a blocat server_names ~\.bing\. ~\.duckduckgo\. ~\.facebook\. ~\.google\. ~\.instagram\. ~\.twitter\. ~\.yahoo\.;
        dacă ($invalid_referer) {
            întoarce 403;
        }
    }

Această secțiune blochează metodele HTTP nedorite și returnează o eroare 405.

if ($metoda_cerere !~ ^(GET|HEAD|POST)$) {
    întoarce 405;
}

Acest lucru m-a pus pe gânduri, există erori pe care nu trebuie să le setez în NGINX?

De exemplu, a 400 Eroare de solicitare greșită. Știe NGINX ce este o solicitare proastă fără a adăuga un dacă declarație și ceva logică la config?

Alternativ, trebuie să configurez fiecare eroare din configurația pe care intenționez să o folosesc și, dacă nu o fac, nu poate fi declanșată? Întotdeauna am presupus că acesta este cazul, dar când văd câte erori diferite 400 și 500 există, mă întreb dacă nu înțeleg pe deplin acest concept.

Puncte:2
drapel co

Nginx va gestiona totul, cu excepția erorilor la nivel de aplicație. Câteva exemple ar fi

400 dacă cererea încalcă formatul specificat RFC.
403 dacă nginx nu poate citi un fișier din cauza permisiunii.
404 dacă fișierul nu este găsit.

Și așa mai departe, singurul lucru pe care nginx nu se ocupă sunt cerințele non-RFC, cum ar fi anti-hotlinkingul dvs. și lucruri în afara domeniului său de aplicare, cum ar fi backend-urile fastcgi/uwsgi/http.

Practic, nu vă faceți griji pentru nimic care nu are legătură cu logica dvs. specifică de afaceri.

myNewAccount avatar
drapel nl
Minunat! În exemplul de eroare 400, mai trebuie să includ o locație în configurația mea, astfel încât atunci când NGINX vede eroarea să știe ce să trimită? De exemplu, `error_page 400 /html/400.html;`
Martin Fjordvald avatar
drapel co
Are o pagină de eroare implicită simplă, vezi aici: https://www.google.com/search?q=nginx+400+example&tbm=isch Îl poți personaliza pentru a arăta mai frumos, da, dar nu este obligatoriu.

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.