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”标头

Bitnami WAMP 堆栈 Phpmyadmin 默认用户名密码在 Windows 8.1 上不起作用

为啥一些跨域 XMLHttpRequest 请求不返回 CORS 错误