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

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

(отказ от ответственности: да, я знаю, что существует масса этих вопросов, но я искал около получаса, прежде чем опубликовать это)

Я пытаюсь настроить zabbix для мониторинга nginx с помощью ngx_http_stub_status_module следуя этот учебник.

это на моем сервере разработки, поэтому файлы конфигурации простые ... мои основные сайты .conf файл ...

example.conf

server {
    listen 80;

    server_name example.com www.example.com;

    location /static/ {
        root /var/www/example.com/example;
    }


    location / {

                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;

        proxy_pass http://unix:/run/gunicorn.example.sock;
    }
}

а потом мне понадобился отдельный виртуальный хост для мониторинга, если не что иное, как просто практика

basic_status.conf

server {
        listen 80;

        server_name localhost;

        access_log      /var/log/nginx/server_status.log main;

        location = /basic_status {
                stub_status;
                allow 127.0.0.1;
                allow ::1;
                deny all;
            }
}

для basic_status.conf файл, я также пробовал следующее

listen 127.0.0.1;
server_name 127.0.0.1;
server_name localhost.test;  #with a corresponding  127.0.0.1 localhost.test in /etc/hosts

и получить доступ к странице, которую я пробовал ...

curl localhost/basic_status
curl localhost
curl 127.0.0.1/basic_status
curl 17.0.0.1
curl localhost.test/basic_status
curl localhost.test

но все, что я получаю, это.

[error] 2467#2467: *1 connect() to unix:/run/gunicorn.example.sock failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: example.com, request: "GET / HTTP/1.1", upstream: "http://unix:/run/gunicorn.example.sock:/", host: "localhost"

Я не хочу использовать default_server просто ради практики \ изучения того, как это делать правильно.

Я знаю, что ответ, вероятно, будет простым и очевидным ... :-) Но сейчас я в растерянности.

РЕДАКТИРОВАТЬ:
расположение файлов

/etc/nginx/sites-available/example.conf
/etc/nginx/sites-available/basic_status.conf

оба с символическими ссылками на /etc/nginx/sites-enabled/

с Ubuntu 20.04

РЕДАКТИРОВАТЬ2:

оказывается, у меня на самом деле не было .conf в конце basic_status, только когда сделал то, что Ричард Смит в комментариях предложил, и не сделал nginx -T что я видел, он даже не взял этот файл.