django,reactjs,ngnix:部署prosses

时间:2016-04-30 18:54:16

标签: django nginx deployment reactjs django-rest-framework

我对django休息发展几乎没有疑问。我正在后端建立DRF,wsgi,ngnix项目,并在前面做反应。

问题: 1)用于反应前端旁边的用户和其他服务的bloking端点: 我们有这样的情况:现在每个人都可以从端点获取数据,如果他或她写了正确的URL地址。我怎么能阻止它。所以目标是现在只能看到它react

2)如何设置ngnix ngnix是gona服务前端添加反应,django api是哪个?

谢谢

1 个答案:

答案 0 :(得分:4)

  1. 你不能保护它,这只是让普通乔稍微变得困难的问题。一些要探索的选项:使用CSRF token,检查Referer HTTP header,使其仅适用于经过身份验证的用户(使用电子邮件,验证码,信用卡等注册),通过IP限制和黑名单(+浏览器指纹),天空是极限。

  2. 您是否在询问如何将反应源移出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;
        }
    
    }