我正在同一网络的远程计算机上运行一个烧瓶服务器,其IP为192.168.1.11。因此,网络的烧瓶服务器端点应该是192.168.1.11:5000,其中5000是烧瓶选择的默认端口。
但是,当我从本地机器(IP: 192.168.1.10)向192.168.1.11:5000发出请求时,它不会返回任何内容。
但是,当我在本地机器(IP: 192.168.1.10)上运行以下ssh -L 4000:127.0.0.1:5000 user@192.168.1.11然后按下localhost:4000时,它就能工作了。我知道这是ssh的本地端口转发。
但是当我在远程机器上运行jupyter notebook时,它运行在192.168.1.11:8890上。然后,当我从本地机器运行192.168.1.11:8890时,它就能工作了。
为什么jupyter工作而不是酒瓶通过默认的吐露?是因为jupyter做了某种远程ssh端口转发。我如何运行一些代码--这是一些信任,等等,比如ssh -R xxxx:xxxx:xxxx xxxx。
发布于 2018-09-01 15:14:59
看来您的烧瓶服务器只在回环界面上监听。
来自文档
外部可见服务器
如果您运行服务器,您将注意到,服务器只能从您自己的计算机访问,而不是从网络中的任何其他计算机访问。这是默认的,因为在调试模式下,应用程序的用户可以在计算机上执行任意Python代码。 如果禁用调试器或信任网络上的用户,只需将--host=0.0.0.0添加到命令行中,即可使服务器公开可用:
flask run --host=0.0.0.0这会告诉您的操作系统监听所有的公共IP。
https://stackoverflow.com/questions/52128965
复制相似问题