Для настройки Nginx под два домена и два сертификата вам потребуется выполнить несколько шагов. Приведу подробный пример настройки:
1. Установите Nginx на ваш сервер, если он не установлен:
sudo apt install nginx
2. Создайте директории для хранения конфигураций, файлов сайтов и сертификатов:
sudo mkdir /etc/nginx/sites-available sudo mkdir /etc/nginx/sites-enabled sudo mkdir /var/www/domain1 sudo mkdir /var/www/domain2
3. Создайте конфигурационные файлы для каждого домена:
Создайте файл /etc/nginx/sites-available/domain1.com
и добавьте в него следующее содержимое:
server { listen 80; server_name domain1.com www.domain1.com; root /var/www/domain1; index index.html; location / { try_files $uri $uri/ =404; } }
Создайте файл /etc/nginx/sites-available/domain2.com
и добавьте в него следующее содержимое:
server { listen 80; server_name domain2.com www.domain2.com; root /var/www/domain2; index index.html; location / { try_files $uri $uri/ =404; } }
4. Создайте символьные ссылки для активации конфигураций:
sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/domain2.com /etc/nginx/sites-enabled/
5. Получите и установите SSL-сертификаты для каждого домена. Для этого лучше воспользоваться Certbot:
sudo apt install certbot sudo certbot certonly --webroot -w /var/www/domain1 -d domain1.com -d www.domain1.com sudo certbot certonly --webroot -w /var/www/domain2 -d domain2.com -d www.domain2.com
6. Обновите конфигурационные файлы для каждого домена, добавив настройки SSL:
server { listen 443 ssl; server_name domain1.com www.domain1.com; root /var/www/domain1; index index.html; ssl_certificate /etc/letsencrypt/live/domain1.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain1.com/privkey.pem; location / { try_files $uri $uri/ =404; } }
server { listen 443 ssl; server_name domain2.com www.domain2.com; root /var/www/domain2; index index.html; ssl_certificate /etc/letsencrypt/live/domain2.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain2.com/privkey.pem; location / { try_files $uri $uri/ =404; } }
7. Добавьте редирект с HTTP на HTTPS для каждого сервера:
server { listen 80; server_name domain1.com www.domain1.com; return 301 https://domain1.com$request_uri; } server { listen 80; server_name domain2.com www.domain2.com; return 301 https://domain2.com$request_uri; }
8. Перезапустите Nginx для применения изменений:
sudo systemctl restart nginx
После выполнения всех этих шагов, у вас должны корректно работать два домена с различными сертификатами на сервере Nginx.