Loop de redirecionamento Nginx HTTPS com vários domínios

Loop de redirecionamento Nginx HTTPS com vários domínios

Sei que existem outras dúvidas com temas semelhantes, mas não consigo encontrar em nenhum lugar uma solução que resolva meu problema específico. A diferença aqui são vários domínios com sites diferentes.

Tenho o Nginx configurado com vários domínios: example1.come example2.com. Há também os arquivos host "padrão" que possuem o"Bem vindo ao nginx!" página da web padrão.

Eu tentei algumas configurações diferentes, incluindo:

# 1
server {
   server_name example2.com www.example2.com;
   listen 80;
   return 301 https://example2.com$request_uri;
}
server {
    server_name example2.com www.example2.com;
    listen 443 default_server;

    ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

# 2
server {
    server_name example2.com www.example2.com;
    listen 80;
    listen 443

    return 301 https://example2.com$request_uri;

    ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

}

1resulta em:

  • http://exemplo2.com redirecionando parahttps://exemplo2.com mostrando a página "Bem-vindo"
  • http://exemplo1.com redirecionando parahttps://exemplo2.com mostrando a página "Bem-vindo"
  • https://exemplo1.com mostrando o conteúdo real do exemplo1.com

2resulta em:

  • http://exemplo2.com com um loop de redirecionamento
  • https://exemplo2.com com um loop de redirecionamento
  • http://exemplo1.com redirecionando parahttp://exemplo2.com com um loop de redirecionamento
  • https://exemplo1.com mostrando o conteúdo real do exemplo1.com

Não consigo colocar o conteúdo example2.comna pasta padrão "Bem-vindo" ou isso afetaria o arquivo example1.com.

Responder1

Graças a Richard Smith, sei como estraguei tudo. Eu não incluí os locais raiz corretamente. Aqui estão os arquivos corretos caso possam ajudar alguém:

# example2.com.conf:
server {
    server_name example2.com www.example2.com;
    listen      80;
    return      301 https://example2.com$request_uri;
    # What I was missing:
    root            /var/www/example2-com;
}
server {
    server_name     example2.com www.example2.com;
    listen      443 ssl;# default_server;

    # What I was missing:
    root            /var/www/example2-com;

    ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
    include         /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam     /etc/letsencrypt/ssl-dhparams.pem;

}

# example1.com.conf:
server {
    server_name example1.com www.example1.com;
    listen      80;
    return      301 https://example1.com$request_uri;

    # What I was missing:
    root            /var/www/example1-com;
}
server {
    server_name     nerd.ink www.nerd.ink;
    listen      443 ssl; # default_server;

    # What I was missing:
    root            /var/www/example1-com;

    ssl_certificate /etc/letsencrypt/live/example1.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/example1.com/privkey.pem;
    include         /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam     /etc/letsencrypt/ssl-dhparams.pem;
}

informação relacionada