当前位置: 首页 > article >正文

为什么同一个网络下的其它电脑无法访问部署在mac上的flask服务

在同一网络下,其他电脑无法访问部署在 Mac 上的 Flask 服务,通常是因为 Flask 默认只在本地主机(localhost)上绑定,而不是绑定到所有的网络接口。因此,当 Flask 服务只监听 localhost(127.0.0.1)时,只有本机可以访问它,其他电脑无法连接。

为了解决这个问题,你需要确保 Flask 绑定到所有可用的 IP 地址(即 0.0.0.0),或者绑定到 Mac 的具体 IP 地址。

解决方法

1. 在启动 Flask 时绑定到 0.0.0.0

默认情况下,Flask 只监听本地接口 127.0.0.1。要让它监听所有的网络接口,可以将 host 设置为 0.0.0.0

修改启动 Flask 的命令,确保将 host 参数设置为 0.0.0.0

app.run(host='0.0.0.0', port=5000)

这会让 Flask 监听所有网络接口,允许同一网络下的其他设备通过你的 Mac 的 IP 地址访问该服务。

2. 确保防火墙允许访问端口

在 macOS 上,防火墙可能会阻止外部访问某些端口。确保防火墙允许访问 Flask 服务的端口(例如,5000)。

  • 打开 系统偏好设置 > 安全性与隐私 > 防火墙
  • 确保 Flask 所使用的端口没有被防火墙阻止。
3. 查找并使用你的 Mac 的局域网 IP 地址

当你绑定 Flask 服务到 0.0.0.0 后,你可以通过 Mac 的局域网 IP 地址来访问 Flask 服务。你可以通过以下步骤查找你的 Mac 的 IP 地址:

  1. 打开 系统偏好设置 > 网络
  2. 在左侧选择你连接的网络(Wi-Fi 或有线以太网)。
  3. 你可以在右侧看到一个 IP 地址,例如:192.168.1.5

然后,其他设备就可以通过 http://192.168.1.5:5000 来访问你 Mac 上的 Flask 服务。

4. 确保没有使用 127.0.0.1 进行访问

确保在其他电脑上访问 Flask 服务时,不要使用 127.0.0.1localhost。要访问 Flask 服务,应使用 Mac 的 IP 地址,例如 http://192.168.1.5:5000


总结

  • 在启动 Flask 服务时,使用 host='0.0.0.0' 来确保它监听所有网络接口。
  • 确保防火墙允许访问 Flask 使用的端口。
  • 使用 Mac 的局域网 IP 地址而不是 localhost 来访问 Flask 服务。

这样就可以让同一网络中的其他设备访问部署在 Mac 上的 Flask 服务了。


http://www.kler.cn/a/421709.html

相关文章:

  • 容器化与容器编排(Containerization and Orchestration)
  • 【Azure Cache for Redis】Redis的导出页面无法配置Storage SAS时通过az cli来完成
  • Flutter 中实现WrapContent状态
  • VUE脚手架练习
  • 动手学深度学习10.5. 多头注意力-笔记练习(PyTorch)
  • [VUE]框架网页开发02-如何打包Vue.js框架网页并在服务器中通过Tomcat启动
  • 【ArkTS】使用AVRecorder录制音频 --内附录音机开发详细代码
  • Linux 定时任务 命令解释 定时任务格式详解
  • 整合SSM框架:构建Java Web应用
  • 利用PHP和GD库实现图片旋转的方法
  • 基于Matlab BP神经网络的非线性系统辨识与控制研究
  • QT部署安卓
  • Spring Boot开发——整合MyBatis的几种SQL写法
  • ubuntu 22.04 mini 安装,在配置网络时重启后配置文件被重置原因与解决方法
  • 基于Java Springboot在线招聘APP且微信小程序
  • sscanf与sprintf函数
  • 帮我写一篇关于AI搜索网页上编写的文章是否存在版权问题的文章, 字数在 3000 字左右。腾讯元宝提问, 记录后用.
  • 字节青训Marscode——8:找出整形数组中超过一半的数
  • el-upload上传多个文件,一次请求,Django接收
  • jupyter-lab 环境构建