我目前正在设置一个仅供个人和测试使用的 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 即可工作。