Назад | Перейти на главную страницу

что такое расположение nginx ~ * и ~

Я пытаюсь немного лучше понять nginx и пытаюсь сформировать регулярное выражение, в котором каждый URL-адрес НЕ соответствует /api/postdataV1 направляется на другой кластер серверов. Я продолжаю видеть эти две вещи в примерах без объяснения причин

location ~ {some regex}

location ~* (some regex}

Мой первый вопрос: что это ~ и ~* (Я думаю ~ просто означает, что я указываю регулярное выражение?) но как насчет ~* затем?

Я думаю, что хочу этого. Было бы это правильно?

location ~ ^/api/postdataV1$ {
    #matches to this route to where I want
}

location / {
    #This will be everything except /api/postdataV1 I think
}

Было бы это правильно? но как насчет ~* ... я не понимаю этого

спасибо, Дин

Как указано в документация nginx, ~* регулярное выражение предназначено для сопоставления без учета регистра и ~ для чувствительности к регистру.

Ваш синтаксис в порядке, но его можно переписать без регулярного выражения (самое короткое местоположение идет последним при сопоставлении запроса):

location /api/postdata {
}

location / {
}