django、react js、nginx : deploy prosses

标签 django nginx deployment reactjs django-rest-framework

我对 django Rest 开发有几个问题。我正在构建项目,后端使用 DRF、wsgi、ngnix,前端使用 Reactjs。

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

2)如何设置ngnix,无论django api在哪里,ngnix都会在react中提供前端服务?

谢谢

最佳答案

  1. 你无法保护它,这只是让普通乔的生活变得更加困难而已​​。一些可供探索的选项:使用 CSRF token ,检查Referer HTTP header ,仅对经过身份验证的用户可用(通过电子邮件、验证码、信用卡等注册),通过 IP(+浏览器指纹)进行限制和黑名单,没有限制。

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

关于django、react js、nginx : deploy prosses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36958907/

相关文章:

django - 登录后重定向到另一个页面

css - 如何在 Django 1.4 中为本地开发提供静态文件

.htaccess - 将 htaccess 转换为 nginx

redirect - 在代理后面运行非标准端口的 nginx 机器上的 301 重定向

git - 如果您不是存储库所有者,可以通过 GitHub 部署 Azure Web App 吗?

python - 使用 uWSGI 部署 Pylons

django request.GET 在模型中

html - 来自静态服务器 NGINX 的音频 mp3 流

ios - 使用 MonoTouch 制作自更新 iOS 应用程序有哪些选项?

python - 在每个测试方法之前清理 django 中的数据库