tem*_*ame 3 networking ip-address webserver
好的,所以我对网络和后端 Web 开发是半新手,目前正在学习 Flask。
我刚刚在我的笔记本电脑上打开了一个基本的小型 HTTP 服务器(“Hello World!”)并在端口 5000 上运行它。如果我在浏览器中访问 127.0.0.1:5000,我会正确地看到消息。
如果(在家里的另一台计算机上)我转到 192.168.1.40:5000,即用于服务器的计算机的私有 IP,那么我也可以从那里看到它。
但是,如果我希望朋友能够从本地网络之外的远方访问它,该怎么办?他们是怎么找到的?
我问谷歌我的 IP (IPv4) 是什么并尝试使用它,但正如我所料,它不起作用,因为(据我所知)它只是解析到路由器本身,不一定是运行服务器的特定计算机。我在这里做错了什么?
如果您使用的是家庭互联网并且在路由器后面,那么您需要设置一个简单的端口转发到您的本地 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等) .