Назад | Перейти на главную страницу

Виртуальные хосты Nginx с поддоменами всегда перенаправляют на основной домен

У меня работают два сайта, как показано ниже. Сервер: nginx / 1.14.2 / Debian 10

См. Записи DNS.

Type    Name          Content       TTL 
A       blog          34.72.11.9    auto
A       mydomain.com  34.72.11.9    auto
CNAME   www           mydomain.com  auto

Настроен виртуальный хост nginx отдельно

server_name  mydomain.com www.mydomain.com

и

server_name  sub1.mydomain.com

Но blog.mydomain.com также загружается с содержимым mydomain.com.

Любая идея ?

Я не могу оставлять комментарии, мне нужно еще четыре очка репутации, но, возможно, я смогу помочь.

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

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

В моем nginx.conf с блоком http;

include /etc/nginx/sites-enabled/*.conf

Каждый домен имеет свою собственную конфигурацию для упрощения отладки, например /etx/nginx/sites-enabled/mydomain.com.conf

server {

    listen 192.168.0.100:80;

    server_name mydomain.com www.mydomain.com;
    root /var/www/mydomain.com;
    index index.html index.php;

}

Теперь для /etc/nginx/sites-enabled/blog.mydomain.com.conf;

server {

        listen 192.168.0.100:80;

        server_name blog.mydomain.com;
        root /var/www/blog.mydomain.com;
        index index.html index.php;

    }

Теперь скажите nginx протестировать конфигурацию и перезагрузить.

sudo nginx -t
sudo nginx -s reload

Если вышеперечисленное не работает, убедитесь, что нет других замещающих блоков «server» и что «default_server» нигде не установлен. Убедитесь, что у вас есть права собственности на файлы и права доступа, а также чтобы пользователь nginx мог читать необходимые файлы.