Задать вопрос
@uSide

Как оформить location в nginx для случая «все остальные урлы»?

У меня есть следующий конфиг:
location ^~ /api {
    if ($http_cookie ~ 'sid'){
        proxy_pass http://localhost:300;
        break;
    }

    return 403;
}

location ^~ /auth {
    proxy_pass http://localhost:300;
}

location / {
    root barp;

    set $page 'landing.html';

    if ($http_cookie ~ 'sid'){
        set $page '/index.html';
    }

    try_files $page =500;
}


Я думал, что под последнюю секцию будут подходить все урлы, кроме /api* и /auth*, и отдаваться будет или landing.html или index.html, но когда я делаю запрос, например, на /search, то получаю 404 ошибку. Как сделать, чтоб все урлы, кроме масок /api* и /auth* обрабатывались последней секцией?
  • Вопрос задан
  • 2365 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@witeX
Я предложу так.
У меня такая конфигурация работает
location ~ ^/auth(.*)$ {
    proxy_pass http://localhost:300;
}
location ~^ /api(.*)$ {
    if ($http_cookie ~ 'sid'){
        proxy_pass http://localhost:300;
        break;
    }

    return 403;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
они туда и приходят посмотрите логи нгинкса и вам станет все понятно
Ответ написан
tonymadbrain
@tonymadbrain
doam.ru
А еще можно не использовать регулярки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы