M-am luptat de 3 zile cu proxy invers Nginx pentru a-mi da seama, cred că, un lucru ușor.
Trebuie pur și simplu să ajung la multe aplicații backend node-red (nodeJS) de la Nginx, dar întotdeauna, cu porturi diferite.
Pentru următorul, acesta este exemplul meu:
Client web -> `https://ip_adr/1881/ui/` -> Nginx proxy_pass `http://127.0.0.1:1881/ui/` (aplicație)
Aplicația backend oferă imagini http://127.0.0.1:1881/*.jpg
- Realizez un test static cu:
Locație / {
#proxy_pass http://127.0.0.1:1881;
}
https://adresa_ip/ui
în browserul meu funcționează bine cu toate imaginile aplicației.
Cu rescriere pentru a redirecționa portul de la frontend la backend, dinamic:
locație ~ ^/(?<port>\d\d\d\d) {
rescrie „^/\d{4}/(.*)” /$1 pauză;
proxy_pass http://127.0.0.1:$port;
}
Cu regex, extrag portul din ip_adr/1881 cu /(?<port>\d\d\d\d)
și rescrieți adresa URL fără /1881
dar păstrând eventual /cale1/cale2/...
Daca pun https://192.168.x.x/1881/ui/
in browserul meu totul bine dar FARA poze.
După multe și multe teste, browserul meu nu afișează nicio imagine, iar jurnalul de erori de urmărire îmi spune pentru toată imaginea:
2022/03/10 01:01:36 [eroare] 50065#50065: *1224 open() „/usr/share/nginx/html/schema_fire_EEU.jpg” a eșuat (2: Nu există un astfel de fișier sau director), client: 192.168 .1.29, server: exemple3.test.fr, cerere: „GET /schema_fire_EEU.jpg HTTP/1.1”, gazdă: „192.168.1.53”, referitor: „https://192.168.1.53/1881/ui/”
Este foarte incredibil, dacă pun https://192.168.x.x/1881/schema_fire_EEU.jpg
, pot afișa această imagine !!!
Cred că există o problemă cu slash...
Ma poate ajuta cineva?
Să aveţi o zi bună ;-)