O zi buna! Avem un proxy bazat pe nginx cu următoarea configurație:
Server {
server_name proxy;
asculta 80;
underscores_in_headers activate;
access_log /var/log/nginx/access.log bodylog;
Locație / {
trece_proxy http://X.X.X.X:Y;
}
}
Backend este o aplicație cu acces la prima pagină de conectare pentru a căuta după ea. Deci problema este:
Când reglam proxy-ul la adresa IP a backend-ului (proxy_pass http://X.X.X.X:Y) obținem că toate solicitările din browser după autentificare în pagina de pornire trec prin serverul proxy nginx și le putem înregistra la access.log.
Dar dacă vrem să folosim aici https://address.com pentru aceeași aplicație ca asta
Locație / {
proxy_pass https://address.com;
resolver 127.0.0.11;
}
am obținut că numai prima încărcare a paginii de autentificare trece prin proxy nginx, dar toate celelalte acțiuni de acolo (autentificarea în sine, căutarea după ea etc.) merg direct pe domeniu https://address.com (nu prin serverul proxy), deci nu poate fi conectat în fișierul nginx-proxy access.log, dar avem nevoie de asta!
Există vreo modalitate de a schimba acest comportament, cum ar fi cu proxy_pass la IP?
Informații suplimentare: Aplicație implementată în clusterul kube, așa că atunci când încerc să o accesez la solicitările IP, mergi la kube-service pentru aplicația cu tip LB și apoi la aplicație. Când încerc să ajung la numele DNS cu cererea https, mergi la nginx-ingress-controller în cluster, apoi la kube-service pentru aplicație și apoi la aplicație