要从 LAN 外部查看 Web 服务器,需要监听哪个 IP?

要从 LAN 外部查看 Web 服务器,需要监听哪个 IP?

好的,我对网络和后端 Web 开发还不太熟悉,目前正在学习 Flask。

我刚刚在笔记本电脑上打开了一个基本的小型 HTTP 服务器(“Hello World!”)并在端口 5000 上运行它。如果我在浏览器中访问 127.0.0.1:5000,我就能看到正确的消息。

并且如果(在家里的另一台计算机上)我转到 192.168.1.40:5000(用于服务器的计算机的私有 IP),那么我也可以从那里看到它。

但是,如果我想让朋友能够从本地网络之外、很远的地方访问它,该怎么办?他们如何找到它?

我向 Google 询问了我的 IP(IPv4)是什么,并尝试使用它,但正如我所料,它没有起作用,因为(据我所知)它只是解析路由器本身,而不一定是运行服务器的特定计算机。我在这里做错了什么?

答案1

如果您使用家庭互联网并且位于路由器后面,则需要设置一个简单的端口转发到本地 PC。打开路由器配置并指定端口 5000 应指向您的私有地址 (192.168.1.40)。

对于托管服务的机器,建议将任何私有地址从动态切换到静态,这样它们的地址就不会改变,从而不会破坏端口转发。只需在机器的网络配置中指定一个位于路由器动态地址池(可以更改)之外的地址,然后将路由器地址指定为网关和 DNS 服务器即可。

示例池空间:192.168.1.100 - 192.168.1.200
示例路由器 IP:192.168.1.1
示例 Web 服务器私有静态 IP:192.168.1.2

然后其他人必须访问你的公共 IP 地址(你可以通过类似以下服务进行检查)http://www.whatismyip.com/或类似)。

您的公共 IP 通常是动态的。这意味着它可能会不时发生变化。您可以购买静态 IP(并非所有 ISP 都能提供)或为此目的使用特殊 DNS 服务(例如,http://www.no-ip.org/http://dyn.com和类似的)。

答案2

http://www.howtogeek.com/117371/how-to-find-your-computers-private-public-ip-addresses/详细解释您的公共和私有 IP 地址。此外,您需要一条防火墙规则来启用IP 列表或启用全部IP 用于将传入消息发送到您的 PC;您可以将流量限制到某个端口 [例如 HTTP 的 80] 或端口数组。完成后,您可能希望删除该防火墙规则。

此外,您的路由器可能还需要进行配置以启用传入流量。

相关内容