Puncte:1

De ce se potrivește această expresie regulată, dar nu locația / în NGINX

drapel in

Practic, am acele două locații în NGINX (coduri de returnare adăugate pentru depanare)

Locație / {
    întoarce 401;
}


locație ~ "^/(active|((de|en|es|fr|it|zh|ru)-[a-z]{3}))" {
    întoarce 402;
}
         

Ideea este să returnezi 401 pe GET https://www.example.com/, dar returnează întotdeauna 402

Cum poate fi asta?

$ http https://www.example.com/ --print Hh
GET / HTTP/1.1
Accept: */*
Acceptare-Codificare: gzip, deflate
Conexiune: păstrați-vă în viață
Gazdă: www.example.com
Agent utilizator: HTTPie/1.0.3

HTTP/1.1 402 Este necesară plata
Conexiune: păstrați-vă în viață
Lungimea conținutului: 176
Tip de conținut: text/html
Data: Luni, 07 iunie 2021 10:07:37 GMT
Server: nginx/1.18.0 (Ubuntu)

Am testat și expresia regulată https://nginx.viraptor.info/ si nu se potriveste cu a www.example.com/ cerere, deci cred că ar trebui să intre în Locație / bloc?

EDIT: Înainte de asta am câteva

rescrie ^/$ /de-abc/;
Richard Smith avatar
drapel jp
`location /` se potrivește cu cererea numai dacă nicio altă `locație` nu se potrivește cu aceasta. Acesta este întregul conținut al blocului `server`? Dacă doriți să potriviți în mod specific `/`, utilizați `location = /`.
drapel in
Nu este întregul conținut, pot încerca să-l reduc - dar de ce arată ca potrivirea expresiilor regulate?
Richard Smith avatar
drapel jp
Editați întrebarea și adăugați mai multe detalii. În mod clar, cererea inițială nu se potrivește cu acea „locație”, dar nu avem idee cum este procesată cererea inițială.
Michael Hampton avatar
drapel cz
Vă rugăm să postați rezultatul lui `nginx -T`
drapel in
L-am găsit - mulțumesc
Puncte:0
drapel in

Motivul a fost o rescriere care nu a fost o redirecționare mai devreme în configurație

rescrie ^/$ /de-abc/;

Am intenționat să folosesc

rescrie ^/$ /de-abc/ redirect;

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.