După ore de testare și căutare pe Google, am o soluție pentru soluție. Au existat altele asemănătoare, dar niciuna care să fie exact ceea ce încercam să fac. Iată ce am ajuns să fac pentru ca asta să funcționeze.
Mai întâi am creat o hartă variabilă care setează în mod condiționat valoarea pe baza valorii $http_referer care se află în NGINX
harta $http_referer $resources_location {
implicit „url.com”;
„~*/page2” „url2.com”;
"~*/page3" "url2.com";
}
Aceasta ia variabila $http_referer și setează variabila $resources_location pe baza valorii $http_referer.
implicit este adresa URL principală, iar apoi am expresii regex pentru a determina că pagina are /page2, /page3 în ea.
Singura captură pe care presupun că este https://url.com/page2 ar declanșa-o, așa ar fi https://url.com/sub/page2. Nu trebuie să-mi fac griji pentru asta, dar ar putea, așa că aș testa și eu.
Apoi folosesc noua variabilă care este setată în proxy
locație /sites/default/files/ {
proxy_set_header Gazdă $resources_location;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $gazdă;
proxy_pass https://${resources_location};
}
Sunt un începător la NGINX, așa că dacă există ceva care poate fi făcut mai bine, anunțați-mă!!