django - 苹果电脑 : simplest way to safely serve a django app on port 80 for development

标签 django macos security

我想在开发期间向办公室中的其他机器打开我的 Django 应用程序。 我知道以 root 身份运行 django 开发服务器是个坏主意。即使在开发期间,在端口 80 上提供 django 应用程序的推荐方式似乎是 django、gunicorn 和 nginx。这对我来说似乎 super 复杂。我完成了前两个步骤,但现在我完全困惑地盯着 nginx。该站点上没有 mac 版本。我真的必须从源代码构建它吗?

我遇到的另一种选择是 localtunnel .但这对我来说似乎很粗略,涉及设置公钥等等。有没有更简单的方法可以在 mac 上从端口 80 提供 django 应用程序而无需以 root 身份运行它?

此外,以 root 身份在端口 80 上运行 django 开发服务器与不以 root 身份相比有哪些风险?例如,某人获得对我的文件系统的完全访问权的可能性有多大?而且,考虑到 Mac 上的默认用户设置,如果我以 root 身份运行我的 django 开发服务器比以非 root 身份运行它更有可能吗?

最佳答案

既然你提到你不想以 root 身份运行 Django 服务器并且你在 mac 上,你可以将流量从端口 80 转发到端口 8000:

sudo ipfw add 100 fwd 127.0.0.1,8000 tcp from any to any 80 in

然后以普通用户身份运行 Django 服务器(默认情况下它服务于端口 8000)

./manage.py runserver

要删除端口转发,请运行:

sudo ipfw flush

关于django - 苹果电脑 : simplest way to safely serve a django app on port 80 for development,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505701/

相关文章:

Django:为什么我的开发服务器无法工作?

python - Django 一对多模型

javascript - 在 PDF 中运行的 JavaScript 可以访问下载它的域吗?

c# - 用户登录逻辑属于哪里?三层应用

python - django.db.utils.IntegrityError : null value in column "address" violates not-null constraint

bash - 使用脚本操作 OS X 窗口

objective-c - [NSOpenPanel openPanel] 调用上的 "Failed to updated [sic] bookmark for item"

cocoa 键值绑定(bind): What are the explanations of the various options for Controller Key?

api - 具有独立网站和 API 服务器的同构 Web 应用程序的身份验证

Django:调用没有url映射的 View 函数