Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mac:在端口80上安全地为django应用程序提供开发服务的最简单方法_Django_Macos_Security - Fatal编程技术网

mac:在端口80上安全地为django应用程序提供开发服务的最简单方法

mac:在端口80上安全地为django应用程序提供开发服务的最简单方法,django,macos,security,Django,Macos,Security,我想在开发过程中将我的django应用程序向办公室中的其他计算机开放。 我理解以root用户身份运行django开发服务器是个坏主意。即使在开发过程中,在端口80上为django应用程序提供服务的推荐方式似乎是django、gunicorn和nginx。这对我来说似乎太复杂了。我已经完成了前两个步骤,但是现在我完全困惑地盯着nginx。网站上没有mac版本。我真的必须从源代码构建它吗 我遇到的另一个选择是。但这对我来说似乎很粗略,涉及到设置公钥等等。有没有更简单的方法在mac上从端口80为dja

我想在开发过程中将我的django应用程序向办公室中的其他计算机开放。 我理解以root用户身份运行django开发服务器是个坏主意。即使在开发过程中,在端口80上为django应用程序提供服务的推荐方式似乎是django、gunicorn和nginx。这对我来说似乎太复杂了。我已经完成了前两个步骤,但是现在我完全困惑地盯着nginx。网站上没有mac版本。我真的必须从源代码构建它吗

我遇到的另一个选择是。但这对我来说似乎很粗略,涉及到设置公钥等等。有没有更简单的方法在mac上从端口80为django应用程序提供服务而不作为root用户运行


另外,在端口80上以root身份运行django开发服务器与不以root身份运行django开发服务器相比,有什么风险?有人完全访问我的文件系统的可能性有多大?而且,如果mac上有默认的用户设置,那么如果我以root用户身份运行django dev服务器,这是否比以非root用户身份运行django dev服务器更可能呢?

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

sudo ipfw add 100 fwd 127.0.0.1,8000 tcp from any to any 80 in
然后以普通用户身份运行Django服务器(默认情况下,它服务于端口8000)

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

sudo ipfw flush

你为什么不干脆
/manage.py运行你的.lan.ip.address:80
?除非您的计算机可以从Internet访问,否则您是安全的。或者只需执行./manage.py runserver 0.0.0.0:80 Paulo Scardine和dan klasson所说的以root身份运行所需的操作。。。相反,您可以执行
/manage.py runserver
(正常情况下),然后在apache中创建一个反向代理(如果nginx对您来说很复杂),只需在虚拟主机上设置
ProxyPass
。。。类似这样的方法可以工作:
ProxyPasshttp://localhost:8000/ 
@PauloScardine“除非您的机器可以通过互联网访问”。我很难为情地说,我不完全理解是什么决定了我的机器是否可以从internet访问。@morgancodes:在公司网络中,您可能位于防火墙/网关后面,并且使用为内部网络保留的IP地址-如果不额外配置防火墙/网关。通常以
192.169.0.*
172.16.*
10.*.*
开头。请网络管理员确认一下,但是如果你的局域网地址是这样的话,你很可能就不会被某个随机的互联网家伙戳到你的测试服务器了。
sudo ipfw flush