Я реализовал CORS на своем бэкэнде Django, установив django-cors-headers
и выполнив шаги, упомянутые в- https://github.com/OttoYiu/django-cors-headers
. По сути, я выполнил следующие шаги:
pip install django-cors-headers
INSTALLED_APPS = ( ... 'corsheaders', ... )
MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', ... ]
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.