【发布时间】:2018-02-08 14:13:56
【问题描述】:
我正在尝试从另一个网络上的另一个节点连接到我的网站。如果节点在同一个网络中,我可以毫无问题地连接到网站。
我已经为 ssh 和 Django (8000) 转发了端口,我还在端口 9080 上准备了 apache。
ssh 和 apache 端口在从外部 IP 地址连接到它们时工作正常,Django 出于某种原因不能。
首先,我尝试在 8000 端口上运行服务器:
python manage.py runserver 0.0.0.0:8000
当从与服务器位于同一网络中的节点连接时,这完全可以正常工作,但由于某种原因,每当我尝试从外部 IP 地址访问它时,连接都会被拒绝。
为了确保它是 Django,我还尝试在与 Apache (9080) 相同的端口上运行服务器,但我没想到会出现“无错误”响应,因为我知道该端口已被占用。但是根本没有任何变化,我仍然获得了与以前相同的 Apache 页面。
我还尝试在防火墙上允许端口8000:
sudo ufw allow 8000/tcp
但很确定这不是问题,因为这个 Debian 没有任何防火墙。
我也尝试在设置中清空ALLOWED_HOSTS,但没有进展。
似乎Django对外部连接没有影响,可能是什么原因?
在这种情况下,我也很难理解其他 http web 服务器平台(例如 Apache、Nginx)的用途,Django 不是在创建 web 服务器本身及其自定义 wsgi 吗?
防火墙不是问题,Web服务器也不是问题,那么问题可能是由Django本身引起的吗?也许是外部防火墙?
【问题讨论】:
标签: python django http debian webserver