Puncte:0

Nginx Reverse proxy excluzând fișierele

drapel eg

Am o pagină de destinație făcută folosind wordpress și este găzduită pe example.com. Am o aplicație care rulează pe app.example.com pe o adresă URL externă. Atunci când utilizatorul încearcă să acceseze fișierele wordpress, acesta ar trebui să fie difuzat de la example.com și dacă acea adresă URL sau folder nu este disponibil, url-ul trebuie să fie mascat și trebuie să meargă la adresa URL la distanță ca example.com/$1. Am încercat să folosesc nginx reverse-proxy, dar nu funcționează.

Locație / {
    try_files $uri $uri/ /index.php?$query_string @proxy;
}

locație @proxy {
    proxy_pass https://example.com/$1;
    proxy_set_header HOST $gazdă;
    proxy_set_header X-Forwarded-Proto $schema;
    proxy_set_header X-Real-IP $adresă_la distanță;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Michael Hampton avatar
drapel cz
Ce nu merge?
drapel eg
Dacă fișierele nu sunt găsite, trebuie să meargă la proxy. în prezent merge la 404 de wordpress. De exemplu, dacă am căutat example.com/test, atunci fișierele trebuie să fie difuzate din domeniul extern google.com, dar URL-ul trebuie afișat ca example.com/test.
Puncte:0
drapel us

The try_files verifică doar dacă fișierele reale există pe sistemul de fișiere. Odată ce a găsit un fișier care există, îl folosește pe acesta pentru a furniza un răspuns. try_files nu acționează asupra niciunui cod de stare HTTP.

Din moment ce ai avut mereu /index.php în sistemul dvs. de fișiere, @proxy ținta nu este niciodată folosită.

Trebuie să implementați funcționalitatea prin conectarea la cârligul de generare a erorilor WordPress 404 și să efectuați proxy acolo.

drapel eg
Mulțumesc. Deoarece nu sunt bine versat cu Wordpress, încerc norocul cu nginx. ``locație / { try_files $uri $uri/ @proxy; } locație @proxy { proxy_pass https://app.example.com/$1; proxy_set_header Gazdă $gazdă; proxy_set_header X-Forwarded-For $remote_addr; proxy_intercept_errors activat; recursive_error_pages on; error_page 404 = @wordpress; } locație @wordpress { rescrie ^/(.*)$ /index.php?$query_string break; }``
drapel us
Vă rugăm să nu adăugați fragmente de configurare la comentarii, acestea nu pot fi citite corect.

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.