当前位置: 首页 > 知识库问答 >
问题:

在主机windows机器上访问运行在Virtual box ubuntu上的web服务器

章鸿光
2023-03-14

我在windows机器上用虚拟盒子管理器运行Ubuntu。在VM box ubuntu中,我正在运行一个python flask应用程序,它运行在http://localhost:5000上。

我尝试使用我使用ifconfig获得的虚拟机盒IP访问Windows计算机上的虚拟机框本地主机URL。但它说:

Your Internet access is blocked

我访问它的方式正确吗?

这是我的蟒蛇烧瓶代码:

from flask import Flask
app = Flask(__name__)

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

if __name__ == "__main__":
    app.run()

共有2个答案

耿俊
2023-03-14

以下代码将允许您从任何公共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
伯庆
2023-03-14

启动应用程序时,需要指定主机='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')

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

if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)
 类似资料:
  • 环境详细信息 Windows 10 Docker桌面 Spring Boot(在容器内使用) RabbitMQ(作为服务安装在我的windows机器上) 我想从Spring Boot Container访问RabbitMQ服务。我在里面提供了下面的属性application.properties 我正在运行我的Spring启动应用程序 docker run-p 8083:8083 dockerde

  • 我正在尝试从主机操作系统(Windows 10)访问迷你库贝仪表板。 Minikube正在我的虚拟机Ubuntu 20.04服务器上运行。 主机是 Windows 10,我使用虚拟框来运行我的 VM。 这些是我在Ubuntu上运行的命令: 然后我打开另一个终端窗口,我运行: 现在在我的Windows 10主机上,我转到Web浏览器键入: 但是我得到错误: 如何从我的主机操作系统网络浏览器访问min

  • 我开发了一个React应用程序,它使用Laravel作为API。我已经通过Passport添加了登录,并且已经相当成功地使用了个人访问客户端方法。我可以添加新用户和令牌,我可以撤销令牌,我可以重置密码...所有的API调用(除了登录和注册)都由API中间件保护,它可以工作。如果我从任何这些调用的头中删除,则由于->middleware('auth:api')包装器,它将返回401未经验证。 一切都

  • 我在运行Ubuntu的VirtualBox/Vagrant机器上有一个Django Web服务器。 我已经按照这个指南创建了一个Django项目:https://docs.djangoproject.com/en/dev/intro/tutorial01/ 我有一个Web服务器运行在在我的客户机内。这是我第一次运行Django Web服务器。它应该是一个hello world应用程序。 如何从主机

  • 我试图在AWS机器上运行NiFi,并访问本地计算机上的web GUI。

  • 问题内容: 我正在boot2docker 1.3.1下运行。 我有一个Docker容器通过运行Web服务器。 如果我连接到该容器,则可以使用浏览该网站,以便知道服务器正在运行。 我用以下容器运行容器: 它具有以下详细信息: 我以为可以访问,从托管人访问该网站。 这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。 我究竟做错了什么? 问题答案: 好吧,愚蠢的我,我在boot2doc