Redirecionar vários domínios para SSL - NGINX

3

Eu tenho a seguinte configuração do servidor:

server {
  listen 80;
  server_name default;
  return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name default;
    root /home/forge/default/public;

    ... and so it continues

Eu também tenho dois nomes de domínio, test.com e example.com . Ambos apontam para o endereço IP do servidor. Se eu for para test.com , ele será redirecionado para https fine, mas se eu for para example.com , ele será redirecionado para a versão https de test.com em vez da versão https de example.com . Por que isso acontece? Sou muito novo nas configurações do servidor. Em outras respostas de falha de servidor, encontrei apenas a variável $host , mas parece que não funciona.

    
por Markinson 20.09.2016 / 15:04

1 resposta

1

Acabei de ter o mesmo problema e, de fato, o cache do navegador foi o problema!

Apenas uma observação: uma das melhores soluções (não armazenadas em cache) para verificar os redirecionamentos seria curl do servidor na linha de comando:

curl -I http://my-server.com

Sobre o cache do navegador, limpar todo o cache - refreshyourcache.com - funcionaria, mas é um pouco exagerado! Outra maneira de garantir que o navegador não está usando o cache é solicitar um URL um pouco diferente, por exemplo:

http://my-server.com?randomString

Outro ponto que queria citar depois de ler o nome do servidor nginx doc : acha que o A maneira recomendada de aceitar vários nomes de domínio é usar o nome_do_servidor vazio "" em vez de default , ou seja, para o seu exemplo de configuração:

server {
  listen 80;
  server_name "";
  return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name "";
    root /home/forge/default/public;

    ... and so it continues

Mas por favor alguém, me corrija se eu estiver errado! :)

    
por 07.12.2016 / 21:49

Tags