Django ASGI New Relic获得CORS错误Heroku

Django ASGI New Relic获得CORS错误Heroku,django,heroku,cors,newrelic,Django,Heroku,Cors,Newrelic,我使用Django通道和daphne服务器(ASGI)运行Django应用程序,而不是典型的gunicorn(WSGI)服务器。因此,我不得不将我的应用程序修改为: # asgi.py import os import django from channels.routing import get_default_application from asgiref.wsgi import WsgiToAsgi from django.core.wsgi import get_wsgi_applic

我使用Django通道和daphne服务器(ASGI)运行Django应用程序,而不是典型的gunicorn(WSGI)服务器。因此,我不得不将我的应用程序修改为:

# asgi.py
import os
import django
from channels.routing import get_default_application
from asgiref.wsgi import WsgiToAsgi
from django.core.wsgi import get_wsgi_application
from newrelic import agent

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
django.setup()

application = agent.WSGIApplicationWrapper(get_wsgi_application())

application = WsgiToAsgi(application)
令我惊讶的是,这确实有效。当我从浏览器或邮递员访问DjangoAPI时,它工作正常,数据显示在NewRelic中。然而,我也有一个客户端Angular web应用程序,它对django服务器进行REST API调用,我得到了CORS错误

请注意,这不是一个常规的CORS问题,因为当我删除NewRelic包装时,我能够从Angular正确访问我的API


未能加载
https://my-app.herokuapp.com/api/
:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许原点”标题。来源<代码>https://frontend.com因此不允许访问。

更改asgi.py文件,如下所示

from django.core.asgi import get_asgi_application
import newrelic.agent #import newrelic agent

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
django_asgi_app = get_asgi_application()
from django.conf import settings
newrelic_config_file = settings.BASE_DIR + "/newrelic.ini" #location of your newrelic.ini file
newrelic.agent.initialize(newrelic_config_file) #initialise agent
application = newrelic.agent.ASGIApplicationWrapper(django_asgi_app)