404 Not Found, конфигурация Nginx
Я только начал использовать Django и пытаюсь развернуть свой проект на сервере Digital Ocean, используя Nginx. Я пытаюсь настроить SSL и домен (и они выглядят хорошо через SSL checker и Google Dig DNS), однако я получаю ошибку 404 в браузере, когда пытаюсь получить доступ к веб-странице:
404 Not Found
nginx/1.14.0 (Ubuntu)
Я пробовал разные вещи с конфигурацией Nginx, но, похоже, это не помогает, вот что у меня сейчас:
http {
...
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/server_merged_key.crt;
ssl_certificate_key /etc/ssl/other_key.key;
root /home/mysite1/mysite;
server_name domain.net www.domain.net ;
location / {
root /home/mysite1/mysite/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
}
...
}
Проект Django расположен на домашнем сервере без директории (только две папки /mysite1/mysite/). Сервер запускается нормально.
Я не вижу никакого GET запроса на стороне сервера, как только я вижу 404 ошибку на странице. Я вижу ошибку 400 You're accessing the development server over HTTPS, but it only supports HTTP. если я пытаюсь получить доступ через http://IP-IN-NUMBER:8000.
Кроме того, settings.py выглядит следующим образом, если это имеет отношение к вопросу:
DEBUG = False
ALLOWED_HOSTS = ['IP-IN-NUMBERS','localhost', '127.0.0.1','HTTP_X_FORWARDED_PROTO', 'https','domain.net'
,'www.domain.net']
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_SSL_REDIRECT = True
Как правильно настроить Nginx для Django? Большое спасибо за помощь!
Хорошо, я разобрался с этим с дополнительной помощью, я размещу ответ, если он будет полезен другим. В основном мне просто нужно было поместить мои файлы Django в корень /var/www/html, чтобы они были вместе с индексным файлом. Таким образом Nginx позволяет получить доступ к этой директории и не выдает 403 ошибку.