Nginx показывает только страницу приветствия после изменения имени_сервера с IP-адреса на домен

Я использую Nginx в качестве обратного прокси для проекта Django с Gunicorn.

Следуя этому руководству от Digital Ocean How To Set Up an ASGI Django App я смог посетить свой проект через IP-адрес сервера в браузере с помощью http.

На следующем этапе я последовал руководству How To Secure Nginx with Let's Encrypt от Digital Ocean. Теперь сайт был доступен с http:// и https:// перед IP-адресом.

Для автоматического перенаправления пользователя на https я использовал код из этого руководства.5 шагов по развертыванию Django

Результатом является следующий файл в /etc/nginx/sites-available:

# Force http to https
server {
    listen 80;
    server_name EXAMPLE_IP_ADRESS;
    return 301 https://EXAMPLE_IP_ADRESS$request_uri;
}

server {
    listen 80; # manged by Certbot
    server_name EXAMPLE_IP_ADRESS;

    # serve static files 
    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/user/projectdir;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }

    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;

    include /etc/letsencrypt/options-ssl-nginx.conf;

    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

Перенаправление на https работает нормально, поэтому я предполагаю, что изменения, которые я сделал согласно последнему руководству, в порядке.

После того, как тесты с EXAMPLE_IP_ADRESS в качестве имени сервера прошли успешно, я изменил имя сервера на мой домен в форме www.example.com

Когда я ввожу домен в браузере, единственным результатом является страница приветствия Nginx. Таким образом, подключение к серверу успешно, но Nginx загружает неправильный блок сервера.

После долгих поисков я наткнулся на этот вопрос. Здесь ответ ThorSummoner сработал для меня. Комментарий mauris под этим ответом об отсоединении файла по умолчанию в sites-enabled был той командой, которая мне была нужна.

unlink sites-enabled/default

(Я разместил этот Q&A, потому что я искал решение часами и надеюсь, что это сократит время поиска для других людей, у которых тоже есть проект Django с той же проблемой)

Вернуться на верх