我使用Django作为后端,使用React作为前端。 我正在使用PM2启动react前端,并通过PM2访问Django后端。我还安装了Nginx作为反向代理,以将查询重定向到 * mydomain.toplevel / admin改为Django管理员 * mydomain.toplevel /到反应前端
后端和前端使用DJANGO REST框架和Axios for React通过REST API进行通信。
我目前的主要问题是:是否可以让前端和后端直接在服务器上进行通信,以免将API暴露给互联网?
我想不是,因为react作为JS前端在客户端执行-是吗?如果React前端不是通过PM2用作静态文件(npm run-server build
),这是否还成立?
答案 0 :(得分:1)
您可以通过仅允许您的React应用程序的域来实现。为此;
metric_type
pip install django-cors-headers
INSTALLED_APPS = (
'corsheaders',
...
)
MIDDLEWARE = [ # Or MIDDLEWARE_CLASSES on Django < 1.10
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]