У меня есть разные реагирующие приложения и его бэкэнд-сервис, независимо развернутый в Openshift. Среди них есть одно приложение, в которое пользователи входят и переходят в другие приложения, используя ссылки, предоставленные в этом приложении.
В настоящее время ссылка каждого приложения указывает непосредственно на «Openshift Route» (аналогично Kube Ingress) приложения реакции.
Но для производственных регионов мы должны изменить способ работы. Существует один публичный домен, скажем, apps.mydomain.com
. Мы должны сделать ссылки на каждое из приложений таким образом, чтобы он загружался по этому пути, apps.mydomain.com/reactapp1
должен загружатьactapp1, а реактивный2 должен быть загружен в apps.mydomain.com/reactapp2
и так далее.
Итак, настроен один вход, настроенный с путями
rules:
- host: apps.mydomain.com
http:
paths:
- backend:
serviceName: home
servicePort: 8080
path: /
- backend:
serviceName: react-app-1
servicePort: 8080
path: /reactapp1
- backend:
serviceName: app-1-api
servicePort: 8080
path: /app1/api
- backend:
serviceName: react-app-2
servicePort: 8080
path: /reactapp2
- backend:
serviceName: app-2-api
servicePort: 8080
path: /app2/api
Когда я нажимаю на ссылку https://apps.mydomain.com
, он загружает приложение home
, после входа в систему при нажатии на ссылку приложения приложение не загружается. Хотя я мог видеть, что название браузера изменилось на навигационное приложение, я получаю эту ошибку Uncaught SyntaxError: Unexpected token <
.
После многих поисков я считаю, что приложение реакции должно быть настроено иначе, если его нужно развернуть не из root.
Чего мне не хватает? Где я делаю не так? Входить или реагировать на сборку приложения? Могу ли я иметь разные Ingress с тем же доменом, но с разными путями для каждого реагирующего приложения и его API-интерфейса сервера?