【问题标题】:django not accessible from another computerdjango 无法从另一台计算机访问
【发布时间】:2021-08-16 02:50:04
【问题描述】:

按照说明 here 创建我的第一个 django 网络服务器。尚未进行任何重大定制,除了。

设置设置.py:

ALLOWED_HOSTS = ['192.168.1.111', 'localhost', '127.0.0.1']

从 cmd 提示符启动 django

python manage.py runserver 0.0.0.0:8080

所有三个 url 链接都可以在安装 django 的本地机器上工作: http://127.0.0.1:8080/, http://localhost:8080/, http://192.168.1.111:8080/

然后我进入 Windows 防火墙设置,将 8080 作为入站规则包括在内:

我的问题是http://192.168.1.111:8080/ 从另一台计算机(在同一网络中,IP 为 192.168.1.77)访问时确实会引发异常。错误是“无法访问站点,响应时间过长”。

我无法弄清楚我做错了什么。我确定这是防火墙问题。关闭 192.168.1.111 上的 windows 防火墙,它从 192.168.1.77 开始工作。问题仍然存在 - 如何使其与 192.168.1.111 上的防火墙一起使用。 我的python版本是3.9,django版本是3.2。仅供参考 - 我搬到 8080 只是为了好玩。我对 8000 也有同样的问题。

有两点值得注意:

(1) 192.168.1.111:8080 确实会在主机(安装 django 的地方)上抛出“不安全连接”警告

(2) netstat 似乎也不错:

C:\Windows\system32>netstat -ab

Active Connections

  .
  .
 [postgres.exe]
  TCP    0.0.0.0:7680           DEVSERVER:0            LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:8080           DEVSERVER:0            LISTENING
 [python3.9.exe]
  TCP    0.0.0.0:49664          DEVSERVER:0            LISTENING
  .
  .
 Can not obtain ownership information
  TCP    192.168.1.111:8080     DEVSERVER:50515        ESTABLISHED
 [python3.9.exe]
  TCP    192.168.1.111:49800    52.226.139.121:https   ESTABLISHED
 [SearchApp.exe]
  TCP    192.168.1.111:50502    52.182.141.63:https    TIME_WAIT
  TCP    192.168.1.111:50515    DEVSERVER:8080         ESTABLISHED
  .
  .
C:\Windows\system32>

192.168.1.111:8080 似乎无法在网络中的任何计算机上运行。尝试从 192.168.1.77 (windows/chrome) 和 192.168.1.75(windows/firefox)

【问题讨论】:

  • 哦,是的,我已经研究了其他 stackoverflow 建议。几乎所有人都在谈论“ALLOWED_HOSTS”和“python manage.py runserver 0.0.0.0:8080”。我在防火墙问题上找不到太多帮助(我认为这是我的问题)
  • 你能从 77 ping 111 吗?尝试将192.168.1.77 添加到ALLOWED_HOSTS
  • @bdbd - 是的,他们都能够互相ping通。给ALLOWED_HOSTS加192.168.1.77没有意义,不过我刚试了下,还是不行
  • 哦,我确实尝试了 http://... 和 https://...

标签: python-3.x django


【解决方案1】:

好的..所以这是一个防火墙问题。显然,python.exe 的另一个出站规则是 override=True 并阻止公共或私有 UDP 或 TCP。我什至不记得了。我刚刚删除了所有与 python 相关的 TCP 规则,只保留了一个(在我上面的问题中指出)。它现在可以工作了

【讨论】:

    猜你喜欢
    • 2015-02-10
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2019-01-03
    • 2018-10-13
    • 2021-08-15
    • 2015-08-06
    相关资源
    最近更新 更多