如何从外部访问本地的Django Web服务器

28 浏览
0 Comments

如何从外部访问本地的Django Web服务器

我按照这里的指示运行Django,成功使用python manage.py runserver运行。如果我从本地访问web服务器的127.0.0.1:端口,就会出现Django页面,表示已成功运行。\n我知道Django内置的web服务器不是生产服务器,但出于测试目的,我很重要的一点是要能够从外部访问它,即不是从服务器上的Web浏览器,而是从另一台计算机上访问。\n我尝试过:\n

http://mywebserver:django运行的端口

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

http://myipaddress:django运行的端口 

\n也没有成功。\nWeb服务器正在运行,所以它必须可以从外部访问,只是我不确定如何做到。我正在运行带有Apache的Linux,尽管我还没有配置Django与Apache。\n有任何关于如何做到这一点的想法吗?

0
0 Comments

问题出现的原因是:

- 应用没有成功监听指定的IP:PORT。这可能是由于配置错误或用户没有权限导致的。

- 应用成功监听了指定的IP:PORT,但客户端无法访问,可能是因为本地iptables阻止了访问,或者防火墙阻止了访问。

解决方法如下:

- 确保应用成功监听了指定的IP:PORT,可以通过以root身份在机器上运行lsof -i命令,并查找对应指定端口的python进程。

- 一般来说,非root用户无法绑定到小于1024的端口。

- 使用iptables -nvL命令查看是否有阻止访问指定IP:PORT的规则。

- 如果存在上游防火墙并且你对其了解不多,需要与网络管理员进行沟通。

对于"you haven't configured it successfully"的解释是,你需要检查django runserver是否成功监听了你指定的位置,可以使用lsof命令来检查。

根据你提供的信息,通过使用lsof命令,我看到了指定端口的python进程。但是我的链接(即myip:8000)没有响应。虽然我意识到有点晚了,但是任何建议都会有帮助。

0
0 Comments

如何从外部访问本地的Django Web服务器

问题原因:在访问另一台计算机时,如果没有在settings.py中添加以下代码,会显示错误信息。

解决方法:在settings.py中添加以下代码,允许所有主机访问。

ALLOWED_HOSTS = ['*']

然后使用以下命令启动服务器:

python manage.py runserver 0.0.0.0:9595

还需确保防火墙允许对该端口的连接。

0
0 Comments

问题的原因是需要访问Django本地Web服务器,但无法从外部访问。解决方法是配置开发服务器以侦听网络接口,并配置路由器将端口转发到服务器。还需要检查服务器防火墙和允许传入连接的端口。此外,还可以在PyCharm中编辑Django Web服务器的默认配置,设置Host为0.0.0.0。如果遇到“Invalid HTTP_HOST header”错误,可以将IP地址添加到ALLOWED_HOSTS列表。如果希望通过主机名从任何设备访问计算机,需要为网络设置本地DNS服务器。如果出现“csrf_token is not set”错误,可能是由于配置或网络问题。需要确保ALLOWED_HOST配置正确,并且手机与计算机连接到相同的路由器。

0