我对django休息发展几乎没有疑问。我正在后端建立DRF,wsgi,ngnix项目,并在前面做反应。
问题:
1)用于反应前端旁边的用户和其他服务的bloking端点:
我们有这样的情况:现在每个人都可以从端点获取数据,如果他或她写了正确的URL地址。我怎么能阻止它。所以目标是现在只能看到它react
2)如何设置ngnix ngnix是gona服务前端添加反应,django api是哪个?
谢谢
答案 0 :(得分:4)
你不能保护它,这只是让普通乔稍微变得困难的问题。一些要探索的选项:使用CSRF token,检查Referer HTTP header,使其仅适用于经过身份验证的用户(使用电子邮件,验证码,信用卡等注册),通过IP限制和黑名单(+浏览器指纹),天空是极限。
您是否在询问如何将反应源移出django的/static/
文件夹?您可以直接在nginx中映射您的前端文件夹,这样您就不会再使用collectstatic
进行部署了,只需直接在模板中链接前端网址<script src='/frontend/react.js'></script>
(如果您可以从其他服务器加载它,如果你想要的。)
server {
listen 80;
# where django static files are, like for admin app
location /static {
alias /var/www/static;
}
# where your frontend js files are
location /frontend {
alias /home/user/frontend;
}
# regular uwsgi
location / {
uwsgi_pass unix:/home/user/app.sock;
include uwsgi_params;
}
}