从外部 IP 访问本地主机上的端口

从外部 IP 访问本地主机上的端口

我目前正在设置一个仅供个人和测试使用的 Web 服务器。现在我正在尝试运行一些 Python 应用程序,但当我启动它们时,它们运行在 127.0.0.1:5000。我有什么办法可以转发它以使其在其他地方可访问吗?

答案1

由于之前的任何答案都还没有解决转发部分的问题:您可以轻松地使用 SSH 转发本地端口

    ssh [email protected] -L 5000:127.0.0.1:5000

这会将所有 TCP 流量从本地计算机的 5000 端口转发到你的测试网络服务器。此设置的优点在于它只允许能够通过身份验证的用户访问,sshd并且 SSH 协议会加密您的所有流量。

如果你希望你的网站公开,这当然不会对你有帮助,但显然是我的首选“仅供个人和测试使用”

答案2

您需要让 Web 服务器监听所有接口/网络接口。否则,它只会监听本地主机(默认为 127.0.0.10)。

您可以提供有关您的服务器/开发环境的更多详细信息以获得更具体的帮助。

答案3

首先,您需要一个接口和一个 LAN IP 地址。获得这些后,您应该能够在开发箱上配置该网络,然后重新启动 Python 应用程序。除非另有配置,否则它们通常会监听所​​有接口。我不是 Python 专家。

使用 netstat 或 lsof 确认。

然后,您应该能够通过输入上面的 LAN IP 地址作为目的地,从另一个 LAN 主机作为客户端进行连接。

除此之外,您还需要某种方式连接到 WAN 并执行一些 NAT 以允许来自整个互联网的连接。

最后要注意的是,检查你的防火墙。你可能有一个监听器,但防火墙不会允许端口 5000,除非你为此进行配置。

答案4

感谢大家的帮助,但我找到了一种解决方法。我发现我不需要转发本地主机,只需公开运行 python/flask 应用程序即可。所以我只需要将 host='0.0.0.0' 添加到 app.run 即可工作。

相关内容