React работает на локальной машине, но не работает на другой машине локальной сети
Я размещаю проект reactjs на порту 3000 в качестве front end и проект django на порту 8000 в качестве backend на одной машине.
При рендеринге reactjs будет получать данные, обращаясь к API django.
Я (как мне казалось) правильно настроил CORS-заголовки в настройках Django. Оба http://localhost:3000/ и http://192.168.86.21:3000/ работают на моей локальной машине. 192.168.86.21 - это IP моей локальной сети.
Но когда я обращаюсь к http://192.168.86.21:3000/ на другой машине или планшете в моей локальной сети. Отрисовываются только статические файлы. Я проверяю Chrome, он показывает:
" Доступ к выборке по адресу '...django_ip_port...' из origin '...my_ip_port...' был заблокирован политикой CORS: Ответ на запрос preflight не проходит проверку контроля доступа: На запрошенном ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'. Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса на 'no-cors', чтобы получить ресурс с отключенным CORS. "
Это очень странно.
@Mika, Конечно, вот моя установка:
ALLOWED_HOSTS = ["localhost", "127.0.0.1", "192.168.86.*"]
INSTALLED_APPS = [ ... 'corsheaders', ... ]
MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', ..... ]
## Конфигурация CORS CORS_ALLOW_ALL_ORIGINS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = False
CORS_ALLOW_HEADERS = default_headers + ( 'Access-Control-Allow-Origin', )
Вот и все