Конфигурация Nginx для проектов под тем же именем server_name

В настоящее время я работаю над проектом как с Symfony, так и с VueJS. Symfony — это фронт моего приложения, а также API, а VueJS используется как бэк-офис.

Интересно, можно ли было иметь оба проекта под одним и тем же доменным именем, имея путь, чтобы различать их.

Кроме того, я также хочу иметь единственное соединение для обоих фреймворков. Обычно мы остаемся на связи с сеансом Symfony и токеном OAuth, предоставляемым Symfony API для VueJS.

Для этого я теперь создаю токен OAuth каждый раз, когда кто-то успешно подключается к приложению, и храню его в локальном хранилище, как это было бы в VueJS.

Но теперь мне нужна хорошая конфигурация для nginx, чтобы они оба могли работать под одним и тем же доменным именем.

Не стесняйтесь сообщить мне, чтобы предоставить дополнительную информацию, я надеюсь, что это можно сделать! Если нет, то я открыт для предложений!

Редактировать:

location / {
    try_files $uri /app.php$is_args$args;
}

location /admin {
    alias /path/admin/public/dist;
    index index.html;
    try_files $uri $uri/ /index.html;
}

location ~ /public/dist/* {
    alias /path/admin/public/dist;
    try_files $uri $uri/ /index.html;
}
location ~ ^/app\.php(/|$) {
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    internal;
}

С этой конфигурацией мне удалось получить доступ к части VueJS, почти все ресурсы загружены (кроме того, который был вызван неправильно). Как только я получаю доступ к своей странице, vueJS запускается и переписывает URL-адрес в /admin/login. Я могу войти в систему, я могу получить доступ ко всем страницам без проблем, но когда я перезагружаюсь, nginx больше не распознает путь, и я перенаправляюсь на Symfony 404 Error.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
52
1

Ответы 1

Конечно, вы можете добиться того, чего хотите, с помощью директивы «местоположение».

Пример:

server {
    listen 80;
    server_name example.com;

    location / {
        # document root, proxy pass or whatever to vuejs.
    }

    location /api {
        # document root, proxy pass or whatever to symfony.
    }
}

Я уже дошел до этого момента, поэтому решил добавить немного информации, чтобы лучше понять, в чем заключается моя проблема.

Jérémy Dulon 07.03.2019 11:26

Другие вопросы по теме