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

我目前正在build立一个Web服务器,只是为了个人和testing使用。 现在我正在尝试运行一些Python应用程序,但是当我启动它们时,它们在127.0.0.1:5000处运行。 无论如何,我可以将其转发到其他地方吗?

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

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

这会将所有来自本地机器5000端口的TCPstream量转发到your.testing.web.server的本地主机绑定端口5000。 这个设置的好处在于,它只允许那些能够使用sshd进行身份validation的用户访问,而SSH协议则会encryption所有的stream量。

如果您希望您的网站公开发布,这当然不会对您有所帮助,但显然是我的首选“个人和testing用途”

您将需要使Web服务器侦听所有接口/networking接口。 否则,它只是监听本地主机(127.0.0.10默认情况下。

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

首先你需要一个接口和一个LAN IP地址。 一旦你有这些,你应该能够在你的开发箱上configurationnetworking,然后重新启动你的python应用程序。 他们通常会监听所​​有接口,除非另有configuration。 我不是一个Python专家。

用netstat或lsof确认。

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

除此之外,你需要一些方法来连接到广域网,并做一些NAT来允许从互联网上的连接。

最后一点,请检查你的防火墙。 你可能会有一个监听器,但防火墙不会允许端口5000,除非你configuration它。

感谢大家的帮助,但我find了解决办法。 我知道我不需要转发本地主机,只需公开运行python / flask应用程序即可。 所以我只需要添加host ='0.0.0.0'到app.run,它就能够工作。