Получение net::ERR_CONNECTION_REFUSED при попытке сделать запрос к Django REST Server
Я пытаюсь протестировать приложение Django с помощью других устройств в моей локальной сети. В качестве клиента я использую Angular.
.
Пока что я могу запустить свое приложение Angular на других устройствах. Однако всякий раз, когда я пытаюсь сделать какой-либо запрос, я получаю ответ с указанием: net::ERR_CONNECTION_REFUSED
Я могу правильно запустить клиентское приложение и сервер Django REST на своей локальной машине, но это не так, когда речь идет о других устройствах.
Основываясь на некоторых из уже опубликованных решений, я сделал :
- Binding Django server to IP :
0.0.0.0:8000
by runningpython .\manage.py runsslserver --certificate .\ssl\server.crt --key .\ssl\server.key 0.0.0.0:8000
(I am using SSL for both client and server). - Setting
ALLOWED_HOSTS
to['*']
in settings.py.
Но ошибка все еще сохраняется. На всех устройствах (включая мою локальную машину), которые я использую, стоит Windows, если это важно.
Может ли кто-нибудь помочь мне решить эту проблему? Или есть другие способы запустить сервер API?
Здравствуйте, я думаю, что это проблема с cors. Вы можете попробовать установить django-cors-headers. Здесь есть небольшое руководство о том, как это сделать. Не забудьте добавить в CORS_ALLOWED_ORIGINS хост и порт, на котором запущен angular. Например, если angular работает на порту 3000:
CORS_ALLOWED_ORIGINS = [
'http://localhost:3000',
]
Заработало.
Это была просто небольшая ошибка в конфигурации моего приложения angular для доступа к URL API.
Просто нужно было обновить IP-адрес (или URI), на котором был запущен сервер API.