首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个nginx实例,以便将Django项目分开

多个nginx实例,以便将Django项目分开
EN

Server Fault用户
提问于 2012-08-22 13:18:49
回答 2查看 1K关注 0票数 1

我正在Debian 6上使用Django + PostrgreSQL + Nginx构建一个应用程序。这个应用程序有两个独立的组件,以后会在不同的机器上。

组件A使用REST从组件B调用一个函数。它存储的敏感数据应由组件A只读,但可由组件B写入。

组件B将敏感数据写入组件A,并通过其API接收数据

我想要分离这些组件,这样Comp B的暴露就不会导致Comp A中的敏感数据暴露,为了这样做,我正在考虑在不同的linux用户下运行两个nginx实例。然后运行组件B的用户无法看到Comp A的settings.py,这将向A的数据库公开登录凭据和存储数据的加密密钥。

我的问题是,如何设置nginx来运行两个实例,每个实例在自己的用户帐户下?如果可能的话,我希望只使用标准Debian存储库中可用的包,以免丢失自动升级。

EN

回答 2

Server Fault用户

发布于 2012-08-23 18:52:58

在我看来,您实际上并不需要2个nginx实例来获得所需的分隔。

您有三个交互代理: nginx、app1和app2。在这个场景中,nginx实际上并不直接处理数据,它只是将传入的http请求路由到app1或app2,因此实际上没有任何数据要泄漏。

在我看来,你真正想要的是让2 django应用程序以不同的用户运行,设置权限,这样app1就不能获得app 2's的数据(除了通过rest-api)。

您没有指定nginx如何与应用程序对话,而是指定任何和所有常见的机制( proxying、反向代理、scgi、.)。让每个应用程序都有一个独立的进程变得相当容易。

在nginx端,只要有两个服务器块,每个服务器块都有自己的子域/域名,就可以获得干净的分隔。

对于更多的想法,您可以向组件config配置中添加一些http://nginx.org/en/docs/http/ngx_http_推荐人_module.html#valid_推荐人指令,以确保它只接受指定的REST的外部/组件引用。

票数 2
EN

Server Fault用户

发布于 2012-08-27 08:29:56

我发现一个很好的方向是使用快基并启动Comp B,如下所示:

代码语言:javascript
复制
 sudo -u youruser manage.py runfcgi
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/420329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档