Развертывание нескольких докеризованных django backend + ReactJS front end app в Apache2 Linux
Я создал 2 демо-приложения для клиента, используя Django в качестве бэкенда и ReactJS фронтенд, как просил клиент. Эти приложения прекрасно работают в Dockerized, прекрасно работают, используя учетные данные для входа пользователей на основе базы данных. Однако они хотят перенести аутентификацию на свой официальный LDAP, и здесь я немного теряюсь.
- the target server is Red Hat, where we've different containers for backend/frontend.
- We're asked to use Apache2 web server, kerberos for authenticating against ldap.
- After authentication, further steps will take place e.g. fetching data using API layer. Rough diagram of the system is as following.
На данный момент django backend, Fast API server, React frontend, Apache работают в отдельных docker контейнерах.
Я не могу пройти через настройку Apache2, я настроил kerberos и файл kdc и сохранил его в маппированном томе, на который указывает Apache2 docker. Когда я перехожу по URL моего Account App, я вижу всплывающую страницу входа вместо моей собственной страницы входа. Здесь клиент справедливо ожидает, что вход в систему должен происходить автоматически, когда пользователи входят в их офисную сеть. Когда я ввожу имя и пароль для входа в AD, я получаю ошибку о неправильном формате файла kdc.
Счета и HR система могут взаимодействовать друг с другом, но я немного не понимаю, как токен будет использоваться совместно? Останется ли он неизменным для одного и того же пользователя, если я установлю достаточно длительный срок действия?
Еще один вопрос, который меня смущает: как Apache будет работать с этими двумя приложениями, размещенными в соответствующих контейнерах? В старые времена мы копировали файлы в папки www-data или www-root веб-сервера, но с контейнерами я немного запутался.
Может ли кто-нибудь любезно поделиться тем, как обойти эту часть kerberos и как сделать сервер Apache различным UI на основе URL, переданного из соответствующих контейнеров? Если требуется дополнительная информация, я могу поработать с командой клиента, чтобы получить журналы и т.д.?
Прошу прощения, если я недостаточно ясно задал вопрос.