Puncte:0

Directiva de locație nginx nu returnează starea http

drapel us

Notă: am citit mai multe întrebări/răspunsuri despre SO, ServerFault etc... dar niciunul dintre răspunsuri nu pare să funcționeze.

Rularea unui server web AWS ec2 Ubuntu (v20.04) cu o configurație de bază nginx (v1.18). Însă Locație directivă pentru /a-custom-path returnarea unui cod de stare http de 200 nu este niciodată procesată și/sau este procesată și ignorată.

Iată configurația:

Server {
    asculta 80 default_server;
    asculta [::]:80 default_server;
    numele serverului _;

    locație /a-custom-path {
      access_log off;
      add_header Content-Type text/plain;
      returnează 200 „OK”;
    }

    access_log /var/log/nginx/unknown.log;
    întoarcere 412;
}

The locație /a-custom-path nu returnează niciodată un statut 200; se încadrează întotdeauna în răspunsul 412. Am încercat diverse directive de locație, cum ar fi:

locație /a-custom-path
locație /a-custom-path/
locație = /a-custom-path
locație = /a-custom-path/

Cu toate acestea, toți au același comportament de a cădea la 412 raspuns.

Întrebare
Cum pot crea o cale de locație personalizată care returnează un răspuns 200 și toate celelalte solicitări returnează un răspuns 412?

Editare - Configurație revizuită și de lucru

Pentru oricine altcineva care găsește această întrebare, iată soluția finală de lucru bazată pe răspunsul acceptat:

Server {
    asculta 80 default_server;
    asculta [::]:80 default_server;
    numele serverului _;

    # totul cu excepția „/a-custom-path” primește un răspuns 412
    Locație / {
      întoarcere 412;
    }

    locație /a-custom-path {
      returnează 200 „OK”;
      access_log off;
      add_header Content-Type text/plain;
    }

    access_log /var/log/nginx/unknown.log;
}
Puncte:1
drapel za

Pentru că lucrurile devin urâte când folosești se intoarce nelegat de niciunul Locație {}. Pune-ti întoarce 412 interior Locație / {} și va fi fericire și bucurie.

P.S. Când serverul dvs. web returnează răspunsul gol, ar trebui să utilizați starea 204, nu 200. Ambele vor funcționa, dar 204 arată că știți lucruri.

drapel us
Mulțumiri. Sunt dintr-un fundal Windows și am presupus că instrucțiunea „return” a fost un scurtcircuit și am ieșit din configurație. S-a adăugat un anumit bloc `location / { }` și totul este bine.

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.