Nginx pegar todo o domínio, em seguida, adicione www, se não estiver presente

1

Essa configuração é para vários domínios compartilhando uma única plataforma CMS. Isso permitirá que qualquer domínio aponte para o ip do meu servidor.

Eu posso usar o nginx server_name _; para pegar tudo.

Mas então eu gostaria de redirecionar para www (anexando www. Infront) se www não estiver presente. Se www estiver presente, tudo bem.

Como posso conseguir isso?

Syed
fonte

Respostas:

0

Algo como isso poderia funcionar (não testado!):

server {
    server_name  ~^www\.;
    <deliver content here>
}
server {
    server_name  ~^(?!www\.);
    location / {
        return 302 $scheme://www.$host$request_uri;
    }
}

Há outras opções faltando agora! Como "ouvir" e "localização".
Você provavelmente deve adicionar outro bloco de servidor com o ip público do servidor que redireciona o tráfego não vhost para um site padrão.
Você deve prestar atenção à ordem em que a diretiva server_name é processada: http://nginx.org/en/docs/http/server_names.html

unNamed
fonte