Заголовок CORS не работает для серверной части Django - интерфейс Angular

Я реализовал CORS на своем бэкэнде Django, установив django-cors-headers и выполнив шаги, упомянутые в- https://github.com/OttoYiu/django-cors-headers. По сути, я выполнил следующие шаги:

  1. pip install django-cors-headers
  2. INSTALLED_APPS = ( ... 'corsheaders', ... )
  3. MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', ... ]

  4. CORS_ORIGIN_WHITELIST = ( 'localhost:8000', #LB '10.254.138.226:443' )

Я до сих пор не могу заставить его работать, когда использую свой угловой интерфейс. Например, мой запрос POST становится OPTIONS.

zone.js:2935 OPTIONS https://10.254.138.226/api/users 0 () error is ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}

У меня нет этой проблемы, когда я пользуюсь почтальоном. Может кто-нибудь помочь?

Чтобы предоставить больше контекста, у меня есть интерфейс и сервер (DRF), работающие на двух разных машинах. Фактически, у меня есть 2 экземпляра серверной части, работающей на двух разных машинах, и у меня есть балансировщик нагрузки, отображающий запросы от <LB IP>:443 на один из <Backend IP>:8000 базовых URL.


person Subzero    schedule 13.06.2018    source источник


Ответы (1)


Я, возможно, никогда не выясню, почему это произошло. Я просто удалил и воссоздал LB, и все начало работать автоматически.

person Subzero    schedule 29.06.2018