У меня проблемы с настройкой nginx с реагирующим маршрутизатором. Я перепробовал все предложенные мной решения, но ни одно из них не соответствует моему варианту использования.
Это структура в моей файловой системе, обслуживаемая nginx
/path/to/my/app
|- v1.0/index.html
`- v2.0/index.html
Я развернул несколько версий в своем приложении, каждая из которых является отдельным приложением реакции.
Тогда есть еще одна вещь, чтобы завершить загадку. Мое приложение реагирует не на корневой URL домена (например, example.com/v1.0
), а на example.com/my-app/v1.0
.
Итак, я настроил nginx следующим образом
server {
location ~ /my-app/([^/]+) { # capture version
set $version $1;
root /path/to/my/app/$version # directory where index.html is stored
try_files $uri $uri/ /index.html
}
}
Доступ к example.com/my-app/v1.0
работает нормально, но если путь содержит маршрут в реакции (example.com/my-app/v1.0/users
), nginx возвращает 404
, потому что он хочет обработать файл /path/to/my/app/v1.0/users
, который явно отсутствует.
Также стоит упомянуть, что мое приложение работает только при доступе как example.com/my-app/v1.0/
, а не example.com/my-app/v1.0/index.html
. В последнем не настроен какой-либо маршрут.