Имеется два проекта
1. Express
2. React
Они должны быть на одном домене по следующим путям.
`/` - express
`/admin/*` - react (все внутренние роут всегда должны проходить через /var/www/front/user/dist/index.html.)
nginx:
server {
listen 80;
listen [::]:80;
server_name in.devo;
root /var/www/front/user/dist;
# react
location /admin {
alias /var/www/front/user/dist;
try_files $uri $uri/ /index.html;
location ~* /admin/.*\.(?:manifest|appcache|html?|xml|json)$ {
sendfile off;
expires off;
}
location ~* ^/admin/.*\.(?:css|js)$ {
try_files $uri =404;
expires 1y;
access_log off;
add_header Cache-Control "public";
}
location ~ ^/admin/.+\..+$ {
try_files $uri =404;
}
}
# express
location / {
add_header Access-Control-Allow-Origin *;
root /var/www/front/site;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
В текущей реализации почти всё нормально отрабатывает.
Однако если попробовать сделать запрос на `/admin/route` выдаёт 404 ошибку express.
Как сделать так, что бы `/admin/***` (без хардкода) смотрел всегда на нужный index.html?