无法访问 IP 0.0.0.0

无法访问 IP 0.0.0.0

我在 Windows 8 上编写 Python (Flask) 代码。为了将 Web 应用程序公开到外部,我过去曾设置 host=0.0.0.0

由于我已升级和/或安装了可访问 Internet 的 Hyper-V,因此无法使用以下方式连接到 Flask Web 应用

http://0.0.0.0:5000.

我尝试关闭 Windows 防火墙,但没有效果。

这是错误:

This webpage is not available
The webpage at http://0.0.0.0:5000/ might be temporarily down or it may have moved permanently to a new web address.
Error 108 (net::ERR_ADDRESS_INVALID): Unknown error.

我还发现一个奇怪的现象:尽管应用程序在 0.0.0.0 运行,但我可以通过 localhost/127.0.0.1 访问它。

我如何打开/启用对 0.0.0.0 的访问?

>route print
===========================================================================
Interface List
 40...c8 60 00 cb fc 55 ......Hyper-V Virtual Ethernet Adapter #2
 18...94 db c9 8a c1 c5 ......Bluetooth Device (Personal Area Network)
 15...96 db c9 ac 27 c1 ......Microsoft Wi-Fi Direct Virtual Adapter
 14...94 db c9 ac 27 c1 ......Broadcom 802.11n Network Adapter
 12...c8 60 00 cc 03 5e ......Intel(R) 82579V Gigabit Network Connection
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.143     20
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link     192.168.1.143    276
    192.168.1.143  255.255.255.255         On-link     192.168.1.143    276
    192.168.1.255  255.255.255.255         On-link     192.168.1.143    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.1.143    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.1.143    276
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  1    306 ::1/128                  On-link
  1    306 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

答案1

我还发现一个奇怪的现象:尽管应用程序在 0.0.0.0 运行,但
我可以通过 localhost/127.0.0.1 访问它。

这是因为应用程序没有在 0.0.0.0 运行,
0.0.0.0 只是表示“所有 IP,来自任何地方”的符号。

如果该应用程序在您自己的桌面上运行,那么您可以通过以下方式访问它:

  • 本地主机,IP v4(又名 127.0.0.1)
  • 本地主机,IP v6(又名::1)。
  • 您的 NIC 上的 IP(在您的例子中为:192.168.1.143),假设您将其设置为允许。这通常是通过将允许设置为 0.0.0.0 来完成的。(即允许来自任何地方)。

答案2

0.0.0.0 通常是外部世界或互联网,因此从网关到 0.0.0.0 的路由您是否尝试将主机 Web 应用程序设置为面向外部的 IP(转到 IPChicken.com)?大多数路由器的默认路由都是 IP 0.0.0.0 网络掩码 0.0.0.0,作为从您的网络到互联网的路由。这意味着所有地址和所有子网。

相关内容