Как настроить привязку двух доменов к одному IP-адресу?

Как исправить ошибку конфликта имени сервера при попытке установить два домена на один IP-адрес в Nginx?
  • 17 августа 2024 г. 23:43
Ответы на вопрос 2
Для привязки двух доменов к одному IP-адресу вам необходимо настроить веб-сервер (например, Nginx) следующим образом:

1. Создайте два конфигурационных файла для каждого домена в директории конфигураций вашего веб-сервера (/etc/nginx/sites-available/ для Nginx).
2. В каждом конфигурационном файле укажите следующие настройки:
   - server_name domain1.com www.domain1.com;
   - root /path/to/website1;
   
   Для второго домена:
   - server_name domain2.com www.domain2.com;
   - root /path/to/website2;
   
3. Для каждого домена создайте символьные ссылки из директории sites-available в директорию sites-enabled (/etc/nginx/sites-enabled/).
4. Перезапустите веб-сервер, чтобы применить изменения.

Если у вас возникает ошибка конфликта имени сервера при попытке установить два домена на один IP-адрес в Nginx, вам необходимо убедиться, что у каждого сервера виртуальных хостов указан уникальный server_name. Проверьте также наличие файла default_server в директории sites-available и sites-enabled, чтобы избежать конфликта. Если виртуальные хосты не отображаются корректно, попробуйте перезапустить веб-сервер или очистить кэш браузера.
Совмести конфиг http и https в одной секции server 
http {
    server {
        listen 80;
        listen 443 ssl;
        server_name example1.com;
        root /var/www/example1;
        index index.html;

        ssl_certificate /etc/letsencrypt/live/example1.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example1.com/privkey.pem;

        # Перенаправление HTTP на HTTPS
        if ($scheme != "https") {
            return 301 https://$server_name$request_uri;
        }
    }

    server {
        listen 80;
        listen 443 ssl;
        server_name example2.com;
        root /var/www/example2;
        index index.html;

        ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;

        # Перенаправление HTTP на HTTPS
        if ($scheme != "https") {
            return 301 https://$server_name$request_uri;
        }
    }
}
Похожие вопросы