我花了将近一天的时间没有解决这个问题。我已经应用了不同论坛上不同人建议的所有解决方案。
最近我们将项目的 Python 版本从 3.5 升级到了 3.9。将 Django 版本从 1.8 升级到 3.2.0。
发布这个 CORS 问题即将到来。它在我本地的 MacBook 上运行良好。但是当我们将它部署在 Cent OS 服务器上时,这个问题就开始出现了。
在我的 settings.py 中,我添加了 -
MIDDLEWARE = (
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware', # must be before CommonMiddleware
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.common.CommonMiddleware',
'corsheaders.middleware.CorsPostCsrfMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'reversion.middleware.RevisionMiddleware',
'insights.middleware.RaiseErrorMiddleware',
'insights.middleware.IAMAuthenticationMiddleware',
) + getattr(settings_local, 'LOCAL_MIDDLEWARE', ())
===============
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = [
"DELETE",
"GET",
"OPTIONS",
"PATCH",
"POST",
"PUT",
]
CORS_ALLOW_HEADERS = [
"accept",
"accept-encoding",
"authorization",
"content-type",
"dnt",
"origin",
"user-agent",
"X-csrftoken",
"X-Requested-With, Content-Type",
"X-requested-with", "X-I-Token", "x-employer-key"
]
下面是我们的服务器配置。
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
任何人都可以请帮忙。我的解决方案。
更新 1:错误消息: