访问在主机Windows机器上的虚拟机ubuntu上运行的Web服务器

时间:2016-06-15 04:45:41

标签: python flask virtualbox

我正在使用Windows机器上的Virtual Box Manager运行Ubuntu。在VM框内部ubuntu我正在运行一个在http://localhost:5000运行的python烧瓶应用程序。

我尝试使用我使用$ancestor = "This is a normal comment" $remtote = "This is not a normal comment" $local = "This is a abnormal comment" $expected_result = "This is not a abnormal comment" 获取的VM框IP访问Windows机器上的VM框localhost URL。但它说:

ifconfig

我是否以正确的方式访问它?

这是我的python烧瓶代码:

Your Internet access is blocked

2 个答案:

答案 0 :(得分:4)

您需要在启动应用时指定host ='0.0.0.0'。默认情况下,它只接受来自localhost的请求。因此,如果您要从其他IP发送请求,则必须指定主机。

见下面的例子。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run(host='0.0.0.0')

此外,如果要在访问应用程序时激活调试模式以分析异常/错误。您还可以将debug属性设置为“True”。

if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)

答案 1 :(得分:0)

下面的代码将允许您从任何公共IP而不是127.0.0.1

访问Flask Web
if __name__ == '__main__':
   app.run(host='0.0.0.0', debug='TRUE')

默认情况下,Flask在端口:5000上运行。有时在VM上此端口将被阻止。要允许此端口上的流量执行以下命令。

iptables -I INPUT -p tcp --dport 5000 -j ACCEPT