Я знаю, что есть и другие вопросы по аналогичной тематике, но я нигде не могу найти решение, которое решает мою конкретную проблему. Разница здесь в нескольких доменах с разными сайтами.
У меня 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
приводит к:
2
приводит к:
Я не могу разместить контент для example2.com
в папке "Добро пожаловать" по умолчанию, иначе это повлияет на example1.com
.
Благодаря Ричарду Смиту я знаю, как я все испортил. Я неправильно указал корневые местоположения. Вот правильные файлы на тот случай, если это поможет кому-то другому:
# 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;
}