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

Nginx не обслуживает поддомены

Как сказано в заголовке, у меня возникли проблемы с тем, чтобы Nginx обслуживал поддомен. Он снова и снова обслуживает основной домен. Независимо от того, прошу ли я www.example.com или git.example.com, он продолжает обслуживать www.example.com (это единственный защищенный паролем conf). Все запросы записываются в журнал access.log и ничего нет в поддомене access.log.

Вот мои файлы conf, которые я помещаю прямо в папки с поддержкой сайтов:

основной

server {
    listen 80;

    server_name www.example.com;

    root /var/www/html;
    index index.nginx-debian.html;

    location / {
            auth_basic "Login";
            auth_basic_user_file /var/www/.htpasswd;
            try_files $uri $uri/ =404;
    }

    location ~ /\. {
            deny all;
    }
}

gitlab (источник : https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/nginx/gitlab-omnibus-nginx.conf)

upstream gitlab-workhorse {
        server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}

server {
    listen 0.0.0.0:8080;
    listen [::]:8080;
    server_name git.example.com;
    server_tokens off;
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    access_log  /var/log/nginx/gitlab_access.log;
    error_log   /var/log/nginx/gitlab_error.log;
    location / {
            client_max_body_size 0;
            gzip off;
            proxy_read_timeout      300;
            proxy_connect_timeout   300;
            proxy_redirect          off;
            proxy_http_version 1.1;
            proxy_set_header    Host                $http_host;
            proxy_set_header    X-Real-IP           $remote_addr;
            proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_$
            proxy_set_header    X-Forwarded-Proto   $scheme;
            proxy_pass http://gitlab-workhorse;
    }
}

Что я сделал до сих пор:

Я потратил на эту проблему 4 часа и не смог решить ее самостоятельно или через Интернет. Беру любые идеи!

Ваш основной домен - это единственный vhost, который прослушивает порт 80. Переключите git vhost на порт 80, и он должен работать.