@moonrage

Размещение двух сайтов (Laravel + NUXT) на одном сервере?

Есть сайт на Laravel и приложение на NUXT.js, которые должны крутиться на одном сервере и отдавать результаты по одному домену
На Laravel админка, апи и набор статических страниц, которые должны отдаваться по адресам website.com/foo, website.com/foo/bar и т.д.
Nuxt крутится через pm2 на localhost:3000, там куча страниц (включая главную, которая должна отдаваться на website.com), часть из которых через API берет данные с Laravel.

Задумка такая: запрос пользователя кидаем сначала в laravel, и если он возвращает нам 404 — передаем дальше запрос в проксированный nuxt. Проблема в том, что когда запрос уходит в laravel — он дальше в nginx уже не вернется, там сам laravel вернет 404 и закроет запрос на этом.

Если есть тут знатоки nginx'а — подскажите, как лучше справиться с поставленной задачей, мучаюсь уже несколько дней, перерыл все форумы, документацию, никак не соображу, как заставить это работать :(

UPD: забыл сказать, что статика, которая хостится на laravel меняется (там хостятся файлы с tilda.cc, которые переносит плагин на laravel'е)
  • Вопрос задан
  • 464 просмотра
Решения вопроса 1
GogElf
@GogElf
Хокаге
Можете попробовать так
Route::fallback(function (Request $request) {
    $response = Http::baseUrl('http://localhost:3000')
        ->get($request->fullUrl());

    return $response->body();
});

https://laravel.com/docs/9.x/routing#fallback-routes
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Сделать весь ларавель (или nuxt) на определенном пути типа servername/api и разрулить средствами вебсервера через виртуальные каталоги или реверс прокси (для nuxt). Ну или вообще выделить одно приложение в поддомен.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы