Puncte:1

Nginx - Reverse Proxy - adăugați antetul cererii la fiecare cerere

drapel cn

Am nginx ca proxy invers. Încerc să adaug un antet de solicitare pentru fiecare cerere, așa că am încercat:

Locație / {
 proxy_pass some.host.com;
 proxy_set_header MY_HEADER somename;
}

Dar antetul nu este adăugat la cerere (cel puțin nu-l văd în instrumentul de depanare F12 - Request Headers sau în Postman).

Am un client și vreau să afișez acolo un iframe de tablou de bord dintr-o altă aplicație. Trebuie să trimit la acea aplicație antetul cererii cu numele meu de utilizator pentru a trece autentificarea. așa că m-am gândit la un proxy invers în care iframe indică proxy-ul invers, iar proxy-ul adaugă antetul cererii și.

Aveți idei despre cum pot atașa antetul cererii la fiecare cerere?

Michael Hampton avatar
drapel cz
Ați adăugat deja antetul solicitării!
kevin avatar
drapel cn
@MichaelHampton știu, dar nu îl adaugă, nu îl văd în instrumentele pentru dezvoltatori din Antetele cererii.
Michael Hampton avatar
drapel cz
De ce l-ai vedea acolo? Asta se află în browserul tău!
kevin avatar
drapel cn
@MichaelHampton fac cererea unui client.Există un client care necesită un antet pentru autentificare, așa că trec fiecare cerere prin proxy invers și adaug antetul acolo. și apoi ar trebui să pot pune iframe de pe site în aplicația mea
Michael Hampton avatar
drapel cz
OK, dar tot nu va apărea în browser.
kevin avatar
drapel cn
@MichaelHampton, deci de unde aș știu dacă antetul este adăugat? de asemenea, de ce văd și alte anteturi de solicitare acolo, cum ar fi gazdă și altele...
Michael Hampton avatar
drapel cz
Ai avut nginx să adauge antetul. Asta depășește cu mult browserul tău. Dacă doriți să știți dacă a fost adăugat, va trebui să verificați aplicația căreia i-ați transmis.
kevin avatar
drapel cn
@MichaelHampton, dar dacă adaug antetul răspunsului (cu add_header) îl văd în browser, nu înțeleg de ce nu pot vedea antetul cererii?
Michael Hampton avatar
drapel cz
Nu puteți vedea antetul solicitării în browser, deoarece nu a fost niciodată acolo! Acestea sunt lucruri destul de evidente.
kevin avatar
drapel cn
@MichaelHampton de ce nu este acolo atunci? asta spun in intrebare, nu inteleg de ce nu este acolo?
Michael Hampton avatar
drapel cz
Nu ai adăugat antetul solicitării în browser, l-ai adăugat pe server! Este un antet de cerere. Nu ar fi trimis niciodată înapoi, deoarece nu este un antet de răspuns.
kevin avatar
drapel cn
Înțeleg acum, deci ai idee cum ar trebui să abordez asta? Am nevoie de antetul pentru autentificare
Michael Hampton avatar
drapel cz
Ai spus foarte puțin despre ceea ce faci de fapt, așa că nu am putut începe să ghicesc. Vă sugerez să o luați de la capăt și să vă explicați problema reală.
kevin avatar
drapel cn
Am un client și vreau să afișez acolo un iframe de tablou de bord dintr-o altă aplicație numită spotfire. acum există o modalitate de a trece autentificarea în aplicație dacă adaug un antet cu numele de utilizator specificat (https://docs.tibco.com/pub/spotfire_server/7.6.0/doc/html/TIB_sfire_server_tsas_admin_help/GUID-0E4154FC- 97AE-43D4-8EBF-A9BD9380D83C.html). așa că m-am gândit că aș face ca src-ul iframe-ului să arate către proxy-ul invers și acolo va adăuga antetul și va trece cererea către spotfire și aș trece autentificarea. dar, după cum ați spus, nu pot adăuga acolo anteturi de solicitare în proxy invers.
kevin avatar
drapel cn
@MichaelHampton ultimul comentariu a fost prea lung pentru tine.de asemenea, după cum se spune în linkul pe care l-am trimis: Antet: Introduceți numele antetului solicitării HTTP care conține numele utilizatorului autentificat
drapel us
Vă rugăm să adăugați detalii relevante la întrebarea în sine, nu ca un comentariu. De asemenea, Michael nu a spus niciodată că nu puteți adăuga anteturi de solicitare în proxy invers. Puteți adăuga anteturile cererii acolo, dar vedeți numai anteturile cererii adăugate în aplicația dvs. Ele nu sunt niciodată vizibile pentru browserul dvs.
kevin avatar
drapel cn
@TeroKilkanen, așa că am trimis anteturile cererii, nu? pentru că nu am trecut autentificarea site-ului web cu antetul, așa că, dacă am ghicit, nu a funcționat. asta înseamnă că, dacă site-ul către care trimit cererea nu este al meu, nu am cum să știu dacă anteturile solicitării sunt acolo? am editat si intrebarea
drapel us
Da, directiva adaugă anteturi la cererea proxy. Și da, anteturile sunt vizibile doar în cererea de la serverul proxy invers către destinația finală. Dacă puteți inspecta cererea pe serverul proxy, atunci puteți vedea anteturile reale de ieșire. Cum să-l inspectați efectiv este un subiect separat.
kevin avatar
drapel cn
cum pot sa-l inspectez? și o altă întrebare, știți dacă redirecționarea (301/302) elimină antetele solicitării?
kevin avatar
drapel cn
@TeroKilkanen a uitat să te adauge în comentariul de mai sus

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.