访问主机 windows 机器上虚拟框 ubuntu 上的 Web 服务器 运行
Access web server running on Virtual box ubuntu on host windows machine
我 运行 Ubuntu 在 windows 机器上使用 Virtual Box Manager。在 VM 框内 ubuntu 我是 运行 一个 python flask 应用程序,它是 运行 在 http://localhost:5000.
我尝试使用 ifconfig
获得的 VM 盒 IP 访问 windows 机器上的 VM 盒本地主机 URL。但它说:
Your Internet access is blocked
我访问它的方式正确吗?
这是我的 python 烧瓶代码:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
您需要在启动应用程序时指定主机='0.0.0.0'。默认情况下,它只接受来自本地主机的请求。因此,如果您从其他 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')
此外,如果您想在访问应用程序时激活调试模式以分析 exceptions/errors。您还可以将调试属性设置为 'True'.
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True)
下面的代码将允许您从任何 public 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
我 运行 Ubuntu 在 windows 机器上使用 Virtual Box Manager。在 VM 框内 ubuntu 我是 运行 一个 python flask 应用程序,它是 运行 在 http://localhost:5000.
我尝试使用 ifconfig
获得的 VM 盒 IP 访问 windows 机器上的 VM 盒本地主机 URL。但它说:
Your Internet access is blocked
我访问它的方式正确吗?
这是我的 python 烧瓶代码:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
您需要在启动应用程序时指定主机='0.0.0.0'。默认情况下,它只接受来自本地主机的请求。因此,如果您从其他 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')
此外,如果您想在访问应用程序时激活调试模式以分析 exceptions/errors。您还可以将调试属性设置为 'True'.
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True)
下面的代码将允许您从任何 public IP 而不是 127.0.0.1
访问 Flask webif __name__ == '__main__':
app.run(host='0.0.0.0', debug='TRUE')
默认情况下,Flask 在端口 5000 上运行。有时在 VM 上此端口将被阻止。要允许此端口上的流量执行以下命令。
iptables -I INPUT -p tcp --dport 5000 -j ACCEPT