小编典典

如何从外部访问本地 Django 网络服务器

all

我按照此处的说明使用内置网络服务器运行 Django,并且能够使用python manage.py runserver. 如果我从网络服务器本地访问 127.0.0.1:port,我会得到 Django 页面,表明它工作正常。

我意识到 Django 网络服务器不是生产服务器,但对于我来说,能够从外部世界访问它很重要——即不是从服务器上的网络浏览器,而是从另一台计算机。

我试过了:

http://mywebserver:port_django_runs_on

但它没有用。我还尝试使用 IP(基于 ifconfig)来访问:

http://myipaddress:port_django_runs_on

这也不起作用。

Web 服务器正在运行,因此它必须可以从外部访问,我只是不确定如何访问。我正在使用 Apache 运行 Linux,尽管我没有使用 Apache 配置
Django。

关于如何做到这一点的任何想法?


阅读 101

收藏
2022-07-04

共1个答案

小编典典

您必须运行开发服务器,以便它在您的网络接口上进行侦听。

例如

python manage.py runserver 0.0.0.0:8000

监听端口 8000上的 每个接口。

无论您使用 IP 还是主机名访问网络服务器都没有关系。我猜你还在你自己的局域网中。
如果您真的想从外部访问服务器,您还必须将路由器配置为将端口转发8000到您的服务器。


检查服务器上的防火墙是否允许到正在使用的端口的传入连接!

假设你可以从外部成功访问你的 Apache 服务器,你也可以试试这个:

  • 停止 Apache 服务器,使该端口80空闲。
  • 启动开发服务器sudo python manage.py runserver 0.0.0.0:80
2022-07-04