Puncte:1

Trimiterea de argumente selective de la proxy Nginx la amonte prin proxy_pass

drapel sb

Am un proxy Nginx configurat pentru un server de stocare a obiectelor Minio S3.

Pot elimina unii dintre parametrii de interogare (mai mult de un agrs) atunci când transmit o solicitare în amonte (Minio) și pot păstra restul argumentelor?

de exemplu: aceasta este cererea primită de Nginx:

/my-private-bucket/my-image.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&w=320&X-Amz-Date=20211218T231908Z&h=200

Trebuie să transform linkul de mai sus în linkul de mai jos (de ex. eliminând argumentele suplimentare: w=320 și h=200) și apoi utilizați proxy_pass:

/my-private-bucket/my-image.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20211218T231908Z

Desigur, pot folosi mai multe instrucțiuni IF în blocul de locație: Iată o mostră sau Aceasta. dar cred că ar trebui să existe ceva mai rațional. Ceva de genul folosirii regex și sed în bash:

eco [uri menționat] | sed -E 's/&?[wh]=[0-9]*//g'

...sau chiar folosind blocuri de hartă în Nginx:

map $args $polished-args
{
    implicit $args
    ~&?[wh]=[0-9]* ((ceva magic))
}

Vreo idee?

Puncte:0
drapel us

Dacă puteți lucra invers, adică treceți o listă cunoscută de parametri, puteți utiliza:

proxy_pass http://backend.example.com/path?param1=$arg_param1&param2=$arg_param2

Dacă ordinea argumentelor cheilor aruncate rămâne întotdeauna aceeași, atunci puteți utiliza Hartă:

harta $args $cleaned_args {
    implicit $args;
    ^(.*)[?&]w=[0-9]+(.*)&h=[0-9]+(.*)$1$2$3;
    ^(.*)[?&]h=[0-9]+(.*)&w=[0-9]+(.*)$1$2$3;
}

Expresia regulată surprinde totul înainte &w sau ?w, apoi totul înainte &h iar restul în grupuri de captură. A doua opțiune face același lucru pentru ordonarea parametrilor opuși.

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.