Deci, configurația mea actuală este următoarea: folosesc docker (instalare fără rădăcină) și vreau să o folosesc Cryptpad (care folosește Node.js) cu Nginx ca proxy invers (avertisment: nu am mai lucrat niciodată cu Nginx).
Cryptpad și Nginx rulează ambele în containere separate. Pentru a servi fișierele statice, am creat un volum în care se află toate fișierele statice din Cryptpad și care este montat în Nginx-Container (numai pentru citire). Problema este că unele conținuturi nu pot fi servite în acest fel: fișierele blob mari vor fi salvate într-un director extern care este accesibil doar din Cryptpad-Container (am motivele mele pentru asta).
Așa că am încercat să-i spun lui Nginx să treacă proxy_pass cererea pentru aceste fișiere către Node-Server al Cryptpad, dar nu reușesc să-mi dau seama cum să definesc această redirecționare.
Configurația mea:
- numele Nginx-Container: nginx
- numele Cryptpad-Container: cryptpad
- portul Node-Server: 3000
- ambele containere sunt conectate la aceeași rețea de punte (personalizată) (și astfel sunt accesibile prin numele lor de containere)
Nginx-Config pentru server (scurtat la secțiunea relevantă; codul complet adaptat de la Aici)
[...]
locație ^~ /block/ {# locația blocului modificată pentru a testa proxy-ul (este accesat mai ușor decât blob)
add_header Cache-Control max-age=0;
#try_files $uri =404;# cod original
try_files http://cryptpad:3000/$request_uri =409;# cod de eroare arbitrar pentru a se diferenția de erorile normale
}
[...]
locație @node {# folosit pentru a trimite toate locațiile necontrolate către nod
proxy_pass http://cryptpad:3000;
}
try_files /www/$uri /www/$uri/index.html /customize/$uri @node;
Dar ori de câte ori /block/ este accesat, serverul returnează 409, așa că redirecționarea nu a funcționat.
Am incercat si eu cu proxy_pass http://cryptpad:3000/$request_uri/;
sau proxy_pass http://cryptpad:3000;
(care a rezultat într-un 404) și try_files @node =409;
.
Deci, știe cineva cum să funcționeze această redirecționare internă sau măcar o modalitate de a monitoriza traficul dintre cele două containere?