【问题标题】:django, reactjs, ngnix: deploy prossesdjango、reactjs、nginx:部署过程
【发布时间】:2016-08-25 19:53:54
【问题描述】:

我对 django rest 开发没有什么疑问。我正在用后端的 DRF、wsgi、ngnix 和前端的 reactjs 构建项目。

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

2) 无论 django api 在哪里,如何设置 ngnix 的 ngnix 是 gona service fronted add in react?

谢谢

【问题讨论】:

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


    【解决方案1】:
    1. 你无法保护它,这只是让普通乔稍微困难一点。一些可供探索的选项:使用CSRF token,检查Referer HTTP header,使其仅适用于经过身份验证的用户(使用电子邮件、验证码、信用卡等注册),通过IP(+浏览器指纹)进行限制和黑名单,天空是极限.

    2. 您是否在询问如何将您的反应源移出 django 的 /static/ 文件夹?您可以直接在 nginx 中映射您的前端文件夹,因此您将不再使用 collectstatic 进行部署,并且可以简单地在模板中直接链接前端 url <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;
          }
      
      }
      

    【讨论】:

      猜你喜欢
      • 2018-01-28
      • 2020-10-09
      • 2018-01-18
      • 2013-07-04
      • 1970-01-01
      • 2012-09-02
      • 2016-08-12
      • 2015-06-02
      • 2019-02-01
      相关资源
      最近更新 更多