Bitnami Django - 请求的资源上不存在“Access-Control-Allow-Origin”标头
Posted
技术标签:
【中文标题】Bitnami Django - 请求的资源上不存在“Access-Control-Allow-Origin”标头【英文标题】:Bitnami Django - No 'Access-Control-Allow-Origin' header is present on the requested resource 【发布时间】:2020-02-17 05:11:44 【问题描述】:我已经使用 bitnami 在 AWS 上安装了 Django(Shopify 应用程序)。一切正常,但是当我从 Shopify 商店向 Django 发送 xmlhttp 请求时,出现 CORS 错误-
从源访问“https://django-app-url”处的 XMLHttpRequest 'https://store_url' 已被 CORS 策略阻止:否 请求中存在“Access-Control-Allow-Origin”标头 资源。
我已经在 django 上启用了 cors——就像之前我在 aws 上使用 openlite 一样,它正在工作。 转移到 bitnami 后,我开始出错 -
安装了cors头文件-
pip3 install django-cors-headers
在中间件和已安装应用的 settings.py 中添加了 cors 标头
同样添加在/opt/bitnami/apps/django/django_projects/Project/conf httpd.conf
Header set Access-Control-Allow-Origin "*"
【问题讨论】:
您是否在目录块中包含Access-Control-Allow-Origin
行?我刚刚检查了浏览器中的响应标头,它在列表中包含了Access-Control-Allow-Origin: *
值。你能验证一下吗?
【参考方案1】:
在您的 settings.py 中添加以下内容。希望它会起作用。
我遇到了同样的问题,添加这些设置后问题就解决了!
CORS_ALLOW_CREDENTIALS = True
ACCESS_CONTROL_ALLOW_HEADERS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
'localhost:4200',
'localhost:8000',
'127.0.0.1:8000',
...
)
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CSRF_TRUSTED_ORIGINS = (
'127.0.0.1:9200',
....
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
【讨论】:
我修改了 settings.py 并重新启动了 apache,但仍然没有运气。我只遇到了 bitnami 的这个问题,所以可能不是 django 设置。CORS_ALLOW_CREDENTIALS = True ACCESS_CONTROL_ALLOW_HEADERS = True CORS_ORIGIN_ALLOW_ALL = True CORS_ORIGIN_WHITELIST = ['www.movri.ca','movri.ca','movri.ca'] CORS_ALLOW_METHODS = ['DELETE','GET''POST','OPTIONS','PATCH','PUT'] CSRF_TRUSTED_ORIGINS = ['www.movri.ca','movri.ca','movri.ca'] CORS_ALLOW_HEADERS = [ 'accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with' ]
以上是关于Bitnami Django - 请求的资源上不存在“Access-Control-Allow-Origin”标头的主要内容,如果未能解决你的问题,请参考以下文章
请求的资源上不存在“Access-Control-Allow-Origin”标头。 [Django-React设置]
请求的资源 React Django 错误上不存在“Access-Control-Allow-Origin”标头
Django 向浏览器发送响应它收到此错误:请求的资源上不存在“Access-Control-Allow-Origin”标头
在 React 错误时调用 Django Api 时,请求的资源上不存在“Access-Control-Allow-Origin”标头