Мое веб-приложение размещено на AWS. Это стандартное приложение Laravel/PHP. Я хотел бы иметь функцию, в которой пользователи, которые регистрируются, могут видеть свой контент в выделенном поддомене (например, USERNAME.mywebapp.com)
очевидно, что изменение конфигурации NGINX каждый раз и перезапуск не помогут. Мне было интересно, предлагает ли AWS Route 53 создание и удаление поддоменов с помощью вызова API, который я могу сгенерировать из своего бэкенда.
Если у кого-то есть элегантное предложение о том, как мне подойти к решению этой проблемы и добиться масштабируемости, я буду рад услышать.
решение1
Мне было интересно, предлагает ли AWS Route 53 создание и удаление поддоменов с помощью вызова API, который я могу сгенерировать из своего бэкэнда.
Вы, безусловно, можете использовать API Route 53 для создания поддоменов, но на самом деле это не обязательно.
(например, ИМЯ ПОЛЬЗОВАТЕЛЯ.mywebapp.com)
Для поддержки этого вам понадобится только *.mywebapp.com
подстановочная запись DNS, а не явная запись DNS для каждого клиента.
очевидно, что изменение конфигурации NGINX каждый раз и перезапуск не помогут
Что касается управления конфигурацией вашего HTTP-сервера:
Во-первых, я бы не торопился списывать со счетов изменение конфигурации HTTP-сервера с последующим запуском перезагрузки конфигурации. Довольно практично использовать что-то вроде Chef для автоматического управления сотнями конфигураций vhost из динамически сгенерированного источника (например, файла JSON). Я лично использовал этот подход, и он не так плох, как кажется.
Другой вариант — заставить ваше приложение обрабатывать маршрутизацию поддоменов. Вот пример Laravel:http://laravel-tricks.com/tricks/динамическая-поддомен-маршрутизация