Próbuję trochę lepiej zrozumieć nginx i próbuję utworzyć wyrażenie regularne, w którym każdy adres URL, który NIE pasuje, /api/postdataV1
jest kierowany do innego klastra serwerów. Widzę te dwie rzeczy w przykładach bez wyjaśnienia
location ~ {some regex}
location ~* (some regex}
Moje pierwsze pytanie brzmi: co to jest ~
i ~*
(myślę, że to ~
tylko oznacza, że określam regex?), Ale co ~*
wtedy?
Myślę, że chcę tego. Czy to byłoby poprawne?
location ~ ^/api/postdataV1$ {
#matches to this route to where I want
}
location / {
#This will be everything except /api/postdataV1 I think
}
Czy to byłoby poprawne? ale co z ~*
... nie rozumiem tego
dzięki Dean
nginx location
, pierwszy hit to :), ale muszę przyznać, trzeba się przyzwyczaić do dokumentacji Nginx, szczególnie. znajdowanie odpowiednich rzeczy poniżej sekcji modułów.Odpowiedzi:
Jak stwierdzono w dokumentacji nginx ,
~*
wyrażenie regularne służy do dopasowania bez rozróżniania wielkości liter i rozróżnia małe i~
wielkie litery.Twoja składnia jest poprawna, ale można ją przepisać bez wyrażenia regularnego (najkrótsza lokalizacja jest ostatnia w dopasowaniu żądania):
źródło
/api/PostData
nie będzie pasować bez~*