В настоящее время я работаю над проектом как с 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.




Конечно, вы можете добиться того, чего хотите, с помощью директивы «местоположение».
Пример:
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.
}
}
Я уже дошел до этого момента, поэтому решил добавить немного информации, чтобы лучше понять, в чем заключается моя проблема.