Как сказано в заголовке, у меня возникли проблемы с тем, чтобы 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, и он должен работать.