Цикл перенаправления HTTPS Nginx с несколькими доменами

Цикл перенаправления HTTPS Nginx с несколькими доменами

Я знаю, что есть и другие вопросы с похожими темами, но я не могу найти решение, которое решает мою конкретную проблему. Разница здесь в нескольких доменах с разными сайтами.

У меня настроен Nginx с несколькими доменами: example1.comи example2.com. Также есть файлы хоста "по умолчанию", которые имеют«Добро пожаловать в Nginx!» веб-страница по умолчанию.

Я попробовал несколько разных конфигураций, включая:

# 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;

}

1результаты в:

  • http://пример2.com перенаправляет наhttps://пример2.com, показывающий страницу «Добро пожаловать»
  • http://пример1.com перенаправляет наhttps://пример2.com, показывающий страницу «Добро пожаловать»
  • https://пример1.com, показывающий фактическое содержание примера1.ком

2результаты в:

  • http://пример2.com с циклом перенаправления
  • https://пример2.com с циклом перенаправления
  • http://пример1.com перенаправляет наhttp://пример2.com с циклом перенаправления
  • https://пример1.com, показывающий фактическое содержание примера1.ком

Я не могу поместить содержимое example2.comв папку «Добро пожаловать» по умолчанию, иначе это повлияет на example1.com.

решение1

Спасибо Ричарду Смиту, я знаю, как я облажался. Я неправильно указал корневые расположения. Вот правильные файлы, если это может помочь кому-то еще:

# 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;
}

Связанный контент