Вы обращаетесь к серверу разработки по HTTPS, но он поддерживает только HTTP. код 400, сообщение Плохой синтаксис запроса
Я только начал изучать фреймворк Django, и я попытался развернуть свой первый проект на сервере с DigitalOcean. Если я запущу
python3 manage.py rumserver 0.0.0.0:8000
Сервер запускается. Однако, когда я пытаюсь получить доступ к нему с (my-rent-ip):8000, я получаю следующее:
[25/Aug/2021 01:49:01] code 400, message Bad request syntax ('\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03GÛî}ز\x921\x0e\x94\x17\x9cÏe¹\x88ñÿÃ\x16\x01éÖRÝ\x00\x95F\x8aG\tÉ 8¯,úÂ\x93´ù\x06Ý\x14¾z\x13Âe4[\x9a,.æ\x96+$<~\x8eq<´\t\x00"ZZ\x13\x01\x13\x02\x13\x03À+À/À,À0̨̩À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x00')
[25/Aug/2021 01:49:01] You're accessing the development server over HTTPS, but it only supports HTTP
Как это возможно, если я запускаю рабочий сервер, а не сервер разработки?
Возможно, я делаю что-то не так с файлом settings.py, поскольку его пришлось сильно изменить для производственных целей. Я сделал производственную ветку, изменил файл settings.py и клонировал на сервер с помощью GitHub. Вот он:
Большое спасибо!
Ваш сервер не поддерживает https, поэтому установите следующие настройки:
SECURE_SSL_REDIRECT=False
SESSION_COOKIE_SECURE=False
CSRF_COOKIE_SECURE=False
Возможно, сейчас вам нужно очистить кэш браузера и перезапустить сервер.
Сообщение об ошибке относится к серверу разработки, так как python3 manage.py runserver
используется только в разработке.
Обратите внимание, что вам следует настроить https на вашем рабочем сервере (когда вы настроите https, снова установите параметры, которые мы изменили ранее на True) и что установка ALLOWED_HOSTS = ['*'] является проблемой безопасности.