我已在 VMWare 虚拟服务器中安装了 FIWARE IDM。
从 VMWare 服务器中的 Firefox,我能够访问 IDM GUI,Horizon 已使用属于国内网络的内部 IP 地址启动(在 settings.py 中修改此地址)(不使用 127.0.0.1)。但是,从主机或国内网络内的任何其他计算机无法访问 Horizon(既不使用互联网浏览器也不使用 telnet 到端口 8000)。 http://ip:8000总是超时。
使用 tcpdump,我可以看到传入流量,但看不到传出流量,并且 VMWare 服务器正在应答 ping。
知道 Django 是否阻止外部访问吗? Horizon 配置为 DEBUG,因此不应进行验证。
谢谢
最佳答案
我刚刚在 GitHub 上回答了你的问题:) 为了方便起见,我将在此处重现答案,但这是 link to the GitHub issue .
<小时/>答案:
我必须调查一下,因为我不确定会发生什么,因为您是第一个遇到此类问题的人。根据我使用 Django 的其他项目的经验,如果您使用开发服务器(使用 fab horizon.dev_server
运行 Horizon 或直接使用 sudo python tools/with_venv.sh python manage.py runserver
运行 Horizon),则必须确保 Django 监听正确的 IP 地址。
确保:
- 您已将主机端口正确重定向到虚拟机端口(例如主机 8000 到虚拟机 8000)
- Django 正在监听 0.0.0.0:vm_port(通常为 8000)。您可以使用以下方法实现此目的
-
fab horizon.dev_server:address='0.0.0.0:8000
- 或
-
sudo tools/with_venv.sh python manage.py runserver 0.0.0.0:8000
-
现在您应该能够使用 http://host_ip:8000 连接到 Horizon (通常host_ip将是localhost) 这是我能想到的与 Django 相关的唯一问题。如果问题仍然存在,请检查您的虚拟机设置和配置,并确保可以从您的主机访问它。
干杯,
恩里克
关于python - IDM FIWARE Django 服务器超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32461695/