Puncte:0

nginx returnează 404 când servește React din subdirector

drapel mp

Am început cu o aplicație React servită de la rădăcina nginx. Apoi am urmat acest ghid pentru a servi aplicația dintr-un subdirector (/app). După cum s-a sugerat Aici, mi-am schimbat configurația nginx din aceasta:

Locație / {
    root /usr/share/nginx/html;
    try_files $uri $uri/ /index.html =404;           
}

la acest:

locație /aplicație {
    alias /usr/share/nginx/html;
    try_files $uri $uri/ /app/index.html =404;
}

Acest lucru funcționează - pot să răsfoiesc la https://localhost/app și să obțin toate fișierele statice așa cum era de așteptat. Problema mea este cu reîncărcarea adreselor URL care sunt controlate de React Router (adică trimiterea serverului nginx a unui URL care include părți după /app). De exemplu, înainte de schimbare, ambele dintre următoarele au funcționat:

  • https://localhost <-- funcționează
  • https://localhost/auth/local <-- funcționează și el

Primul a returnat pur și simplu pagina de pornire. Al doilea a făcut ca nginx să fie implicit la index.html, iar routerul React a avut grijă să navigheze intern la pagina corectă (/auth/local).

După modificare, prima solicitare funcționează, dar a doua eșuează cu 404:

  • https://localhost/app <-- funcționează
  • https://localhost/app/auth/local <-- eșuează cu 404

Adăugând niște anteturi de depanare, văd că după modificare, în al 2-lea caz, nginx nu execută blocul deloc.

ce fac greșit?

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.