У меня есть приложение 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;