Как может быть реализована функция динамической маршрутизации субдомена в NextJS?
Пример: если пользователь приходит с именем пользователя abc
на сайте xyz
, то он может получить доступ к своему сайту на abc.xyz.com
Кроме того, если у пользователя есть домен abc.com
, он может указать abc.com
на abc.xyz.com
. Так что в будущем, если кто-то откроет abc.com
, будет обслуживаться abc.xyz.com
. И в URL также отображается abc.com
.
Я исследовал несколько плагинов в NPM, таких как vhost и wildcard-subdomains, но не уверен, что это правильный способ решить эту проблему.
Vhost требует изменений в системе hosts
в локальной системе, а поддомен с подстановочными знаками решает проблему исключительно с помощью маршрутизации.
Настройка локальной системы Я настроил Server.js с кодом, который работает временно, но, похоже, не является решением, которое можно использовать в производстве:
Server.js
...
if (pathname === "/demo.demo.com") {
app.render(req, res, "/demo.demo.com", query);
}
...
И в _app.js
static async getInitialProps(appArgument) {
...
return {
...
renderFrom: "demo.demo.com"
};
}
Также в моем хосте demo.demo.com
указывает на localhost
.
Сайт работает для меня в demo.demo.com:3000
, но как обобщить его в производственных сценариях с базой данных и CNAME
записями и добавить / изменить запись CNAME автоматически с помощью действий пользователя.