Я пытаюсь настроить домашний веб-сервер.
Моя структура папок следующая:
/home/pi/www/
├── homeGUI
│ ├── backend /* Contains an express server listening on 8080 */
│ ├── frontend /* Contains an Angular application */
│ │ ├── index.html
│ │ └── /* Other .js files */
│ └── scripts
└── index.html
в то время как моя конфигурация сайта такая:
server{
listen 80;
listen [::]:80;
root /home/pi/www;
index index.html index.htm;
server_name _;
#intended to serve the angular application
location /homeGUI/ {
alias /home/pi/www/homeGUI/frontend/;
try_files $uri $uri/ /homeGUI/frontend/index.html; #this one is causing problems
}
#intended to serve the files in the www folder
location / {
try_files $uri $uri/ index.html;
}
#intended to serve the express server
location /homeGUI/api/ {
proxy_pass http://127.0.0.1:8080
}
}
Приведенная выше конфигурация может обслуживать все 3 содержимого (статический index.html, угловое приложение и экспресс-сервер).
Проблема, с которой я столкнулся, заключается в том, что когда я перехожу к маршруту углового приложения напрямую (или обновляя страницу, находясь на этом маршруте) (es: localhost/homeGUI/route1
), это вызывает цикл перенаправления, поскольку он пытается перенаправить на /homeGUI /frontend /index.html, который затем попадает в то же правило местоположения и цикл.
Все, что я хочу сделать, это перенаправить каждый запрос, например /homeGUI/*
в файл /home/pi/www/homeGUI/frontend/index.html
за исключением /homeGUI/api
который должен отправляться на экспресс-сервер через порт 8080.
Любая помощь приветствуется. Благодарю.