Puncte:0

Nginx rescrie corect pentru unul, dar nu pentru celălalt

drapel fr

Practic, încerc să folosesc proxy_pass directivă pentru a apela un API la distanță.

Până acum, iată ce am primit:

Server {
  locație /a {
    proxy_pass https://a.com;
    rescrie ^/a(.*)$ $1 pauză; # fără bară oblică finală, definită în codul aplicației
  }
  locație /b {
    proxy_pass https://b.com;
    rescrie ^/b(.*)$ $1 pauză; # fără bară oblică finală, definită în codul aplicației
  }
  Locație / {
    # Restul configurației
  }
}

Sunt blocat cu faptul că locație /a merge bine dar locație /b nu dintr-un motiv oarecare (HTTP/404).


Am încercat să folosesc un slash final pentru locație /b Pe aici

locație /b/ {
  proxy_pass https://b.com/;
  rescrie ^/b/(.*)$ $1 pauză;
}

dar nici asta nu merge.

Orice ajutor este foarte binevenit.

Puncte:0
drapel fr

Am găsit răspunsul la problema mea particulară.

Cele două servere API nu sunt configurate în același mod și a trebuit să modific puțin configurația nginx.

  • Server b.com nevoie de a proxy_set_header Gazdă $gazdă directiva si nr rescrie directivă
  • Server a.com avea nevoie de rescrie directiva dar nu proxy_set_header Gazdă $gazdă

Acest lucru mă lasă cu următoarea configurație (funcționează pentru mine):

Server {
    locație /a {
        proxy_pass https://a.com;
        rescrie ^/a(.*)$ $1 pauză;
    }
    locație /b {
        proxy_set_header Gazdă $gazdă;
        proxy_pass https://b.com;
    }
}

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.