Puncte:0

NGINX - permite accesul la o anumită adresă URL numai printr-un subdomeniu

drapel us

Am o pagină web, localizată pe example.com/app.

Există vreo modalitate de a refuza accesul direct la example.com/app și permiteți numai prin app.example.com prin intermediul NGINX?

drapel us
Vă rugăm să partajați rezultatul lui `nginx -T`, astfel încât să putem vedea configurația dvs. completă nginx și să oferim un răspuns corect.
Puncte:1
drapel cn

În dumneavoastră exemplu.com Server bloc, locație ~ aplicație { deny all; } (sau asemănător):

Server {
    nume_server example.com;
    locație ~ api { deny all; }

<configurare de exemplu.com>
}

Server {
    nume_server api.example.com;

<configurare pentru api.example.com>
}
Tarlan Mammadzada avatar
drapel us
Dar voi accesa example.com/api prin api.example.com?
Paul avatar
drapel cn
Atâta timp cât `api.example.com` se află într-un bloc `server` diferit, da.
Tarlan Mammadzada avatar
drapel us
Ați putea adăuga în răspunsul dvs. un bloc de server pentru `api.example.com` care accesează `example.com/api`?
Paul avatar
drapel cn
Subdomeniul și domeniul sunt pur și simplu în blocuri `server` diferite. Ei nu accesează în același mod în care o face un browser. Accesul se face la directoarele și fișierele de pe server. Prin configurarea blocurilor `server` separate pentru domeniu și subdomeniu, accesul la fișiere este mai ușor de gestionat.
Tarlan Mammadzada avatar
drapel us
În exemplul dvs., trebuie să redirecționez `api.example.com` la `example.com/api`, deoarece nu am un folder numit `app` pe care să îl setez în rădăcina `server`.
Paul avatar
drapel cn
`Locația` este ceea ce este solicitat lui `nginx` de către un client. Cu directiva `deny all;`, `nginx` nu va căuta `locația` potrivită. În ceea ce privește ceea ce este de fapt în structura fișierelor serverului, este o altă poveste, pentru că nu asta este ceea ce este evaluat în acest caz. Chiar dacă nu există niciun fișier sau director numit `api`, `nginx` va răspunde în continuare clientului cu 403.
drapel sv
@TarlanMammadzada Vă rugăm să vă actualizați întrebarea postând configurația existentă și rezultatul „curl” a ceea ce se întâmplă și ceea ce căutați. Acest răspuns oferă răspunsul exact pe care l-ați cerut în OP. Dacă aveți întrebări diferite sau suplimentare, postați-o în OP sau creați o întrebare nouă, astfel încât toată lumea să știe ce încercați să realizați.

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.