Назад | Перейти на главную страницу

Можно ли настроить Nginx для добавления новых доменов без необходимости добавлять VirtualHost для каждого из них?

У меня есть приложение SaaS, в котором пользователи могут вводить свои доменные имена. Приложение использует имя хоста входящих запросов для определения учетной записи на основе домена, который они ввели для своей учетной записи, загрузки настроек, тем и т. Д.

Я не хочу добавлять новый хост Nginx для каждого нового домена, добавляемого пользователем, что приводит меня к решению, в котором все люди указывают свои www CNAME в статический поддомен на моем сервере (например, all-websites.[my domain].com), перенаправляя каждый корневой запрос на соответствующий www версия (например, example.com перенаправляет на www.example.com).

Будет ли работать вышеупомянутое решение, и если да, то есть ли какие-либо недостатки, а если нет, знаете ли вы о лучшем решении, которое по-прежнему не требует от меня обновления конфигураций Nginx каждый раз, когда пользователь регистрируется (я также не хочу иметь конфиги редактирования скрипта для меня).

Отметьте server раздел, который вы хотите использовать по умолчанию, используя listen директива, так что nginx использует это, если нет соответствия server_names. Похоже, вы всегда проксируете приложение, и это приложение знает, как обрабатывать разные хосты, но при необходимости вы можете использовать $host переменная в вашей конфигурации nginx.

listen 80 default_server;