É possível configurar o Nginx para permitir que novos domínios sejam adicionados sem que eu tenha que adicionar um VirtualHost para cada um?

3

Eu tenho um aplicativo SaaS em que os usuários podem inserir seus nomes de domínio. O aplicativo usa o nome do host de solicitações recebidas para determinar a conta com base no domínio que eles inseriram para sua conta, carregando configurações, temas, etc.

Eu não quero ter que adicionar um novo host Nginx para cada novo domínio adicionado por um usuário, o que me leva a uma solução na qual todas as pessoas apontam seu www CNAME para um subdomínio estático no meu servidor (por exemplo, all-websites.[my domain].com ), redirecionando cada solicitação raiz para sua respectiva versão www (por exemplo, example.com redireciona para www.example.com ).

A solução mencionada funcionará e, em caso afirmativo, haverá alguma desvantagem? E, em caso negativo, você conhece uma solução melhor que ainda não exige que eu atualize as configurações do Nginx sempre que um usuário se inscrever (também não não quero ter um script editando configurações para mim).

    
por orokusaki 20.04.2012 / 21:40

1 resposta

2

Marque a seção server que você deseja usar como padrão usando a diretiva listen , para que o nginx usa isso se não houver correspondência server_names . Parece que você está sempre fazendo proxy para um aplicativo e esse aplicativo sabe como lidar com os diferentes hosts, mas, se necessário, você pode usar o variável $host na sua configuração nginx.

listen 80 default_server;
    
por 21.04.2012 / 05:55