Я борюсь здесь с чем-то, что может быть легко сделать, но я не нашел правильного решения, поэтому я надеюсь, что вы можете помочь мне, пожалуйста.
Фон
Мы разрабатываем приложение, которое состоит из 4 различных веб-проектов Java.
- AppA
- AppB
- APPC
- WebService
Все эти приложения должны быть доступны из 4 разных поддоменов mydomain.com :
- a.mydomain.com
- b.mydomain.com
- c.mydomain.com
- api.mydomain.com
Технология
Сервер приложений: сервер Payara 4 (почти такой же, как Glassfish 4).
Сервер Payara работает внутри контейнера Docker, который, в свою очередь, работает внутри экземпляра Amazon EC2.
Я использовал Amazon Route 53 в следующем сценарии:
Что я уже успешно сделал
Это было сделано для другого проекта, в котором было только 1 приложение, доступ к которому осуществлялся с субдомена otherdomainiown.com .
Это прекрасно работает, потому что записи DNS провайдера домена ( iPage ) просто указывают на мои записи Amazon Route 53 сконфигурированной мной размещенной зоны. Эта размещенная зона имеет запись A, которая указывает на фиксированный IP-адрес моего экземпляра Amazon EC2. Затем Docker выставляет сервер Payara через порт 80, который сопоставлен с портом 8080, который Payara использует по умолчанию для обслуживания своих приложений.
Проблема
Теперь я столкнулся с похожим сценарием. Разница в том, что у меня есть 4 разных приложения, которые должны быть доступны для 4 разных поддоменов.
Я попробовал с Виртуальными серверами (виртуальными хостами) без удачи, я не знаком с этим, но я думаю, что это может быть возможным решением.
Я подумывал об использовании корзин Amazon S3 для перенаправления, но не думаю, что это то, что мне нужно.
На изображении это должен быть последний сценарий, хотя я просто нарисую 2 поддомена для простоты:
- Должен ли я использовать сопоставления Docker для решения этой проблемы?
- Должен ли я использовать виртуальные серверы?
- Должен ли я купить 4 разных машины? (это решит все это за несколько секунд, но покупка большего количества экземпляров не вариант)
- Должен ли я использовать Docker-контейнер для каждого приложения?
Как видите, я немного растерялся, поэтому было бы здорово, если бы вы указали мне правильное направление.
Заранее спасибо.