Puncte:0

Cum să setați condițional proxy_pass pe baza valorii $host?

drapel ve

Încerc să stabilesc proxy_pass pe baza valorii $host, am încercat asta:

locație /api/v1/ {
    dacă ($gazdă = .*\.npreprod.company.com)
    {
            proxy_pass https://frontend-api.preprod.company.com/api/v1/;
    }
}

cu toate acestea, am primit eroarea

nginx: [emerg] „proxy_pass” nu poate avea parte URI în locație dată prin expresia regulată, sau în interiorul locației numite, sau în interiorul instrucțiunii „if”, sau în blocul „limit_except” din /etc/nginx/sites-enabled/nuxtjs.conf :45

deci, care este modalitatea corectă de a realiza acest lucru?

drapel jp
Răspunde asta la întrebarea ta? [Execuția regex a locației Nginx nu funcționează cu trecerea proxy](https://serverfault.com/questions/649151/nginx-location-regex-doesnt-work-with-proxy-pass)
drapel in
Nu cred că acesta este duplicatul corect. Sunt destul de sigur că avem deja una sau mai multe întrebări care abordează [problema dacă este rău](https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/), dar nu pot gasesti unul chiar acum.
simo avatar
drapel ve
@AlexD Nu sunt sigur cum aș aplica răspunsul la acea întrebare în cazul meu
drapel jp
@GeraldSchneider acesta descrie cum să se potrivească mai bine un nume de gazdă https://serverfault.com/questions/286828/nginx-matching-server-host-name-in-location-directive
Richard Smith avatar
drapel jp
În loc să testați valoarea lui `$host` în blocul `server`, puteți crea un bloc separat `server`. Consultați [acest document](http://nginx.org/en/docs/http/server_names.html).
simo avatar
drapel ve
Mulțumesc@AlexD, da, asta am terminat să fac, a funcționat bine.

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.