Size: a a a

2020 January 09

OK

O K in nginx_ru
Georgiy Kashintsev
и чем не устраивает просто /api/ ?
просто интересно, все внутри одинаково
источник

GK

Georgiy Kashintsev in nginx_ru
вообще локейшен /api/user покрывается локейшеном /api/
источник

GK

Georgiy Kashintsev in nginx_ru
O K
просто интересно, все внутри одинаково
да, это хорошая причина подвести под один локейшен, но в nginx не рекомендую так делать
источник

OK

O K in nginx_ru
у меня еще такое есть , тоже лучше не делать?
location ~ ^/api/(app1|app2) {
источник

GK

Georgiy Kashintsev in nginx_ru
одна из причин - роутинг локейшенов усложняется
вторая - pcre явно тяжелее в обработке
третья - всякие фичи типа урл реплейса перестают работать с регуляркой
источник

GK

Georgiy Kashintsev in nginx_ru
O K
у меня еще такое есть , тоже лучше не делать?
location ~ ^/api/(app1|app2) {
если там одинаковое описание, то проще по префиксу
источник

GK

Georgiy Kashintsev in nginx_ru
ну опять же смотри, если есть /api/app3 с другим описанием, то ты его поаффектишь тоже
источник

GK

Georgiy Kashintsev in nginx_ru
в остальном, /api/ покроет оба варианта
источник

OK

O K in nginx_ru
у меня еще есть просто /api )  тоесть регулярки значит лучше не использовать вообще?
источник

OK

O K in nginx_ru
для таких кейсов
источник

GK

Georgiy Kashintsev in nginx_ru
да, nginx по дефолту работает с префиксами урлов, а они часто (если иерархически соблюдается роутинг в приложении) как раз попадают в такой кейс
источник

GK

Georgiy Kashintsev in nginx_ru
O K
у меня еще есть просто /api )  тоесть регулярки значит лучше не использовать вообще?
тогда стоит оставить просто /api (если он такой же)
источник

GK

Georgiy Kashintsev in nginx_ru
заметьте, что /api/ и /api это будут 2 разных локейшена в nginx
источник

GK

Georgiy Kashintsev in nginx_ru
так как он матчит префиксы, ему без разницы файл это или директория
источник

OK

O K in nginx_ru
/api - proxy_pass другой чем для /api/(app1|app2)
источник

GK

Georgiy Kashintsev in nginx_ru
ну тогда /api - один локейшн, /api/ - второй
источник

GK

Georgiy Kashintsev in nginx_ru
но вообще стоит задуматься о разночтении, кажется тут можно ввести лишнюю путаницу
источник

GK

Georgiy Kashintsev in nginx_ru
по хорошему, это настроить роутинги одинаковые (не то что /api обрабатывает одно приложение, а /api/app1 - второе)

по плохому - наверное в вашем конкретно случае стоит явно описать наличие app1 и app2 ввиду избежания дальнейшей путаницы
источник

GK

Georgiy Kashintsev in nginx_ru
по плохому - вариант когда роутинг по другому не переделать
источник

GK

Georgiy Kashintsev in nginx_ru
ну или просто коментарием хотябы подпишите)
источник