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 с той же проблемой)