星球的眼睛 发表于 2024-12-4 10:21:17

为什么同一个网络下的别的电脑无法访问部署在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 地址:

[*]打开 体系偏好设置 > 网络。
[*]在左侧选择你毗连的网络(Wi-Fi 或有线以太网)。
[*]你可以在右侧看到一个 IP 地址,比方:192.168.1.5。
然后,其他装备就可以通过 http://192.168.1.5:5000 来访问你 Mac 上的 Flask 服务。
4. 确保没有使用 127.0.0.1 进行访问

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



[*]在启动 Flask 服务时,使用 host='0.0.0.0' 来确保它监听全部网络接口。
[*]确保防火墙允许访问 Flask 使用的端口。
[*]使用 Mac 的局域网 IP 地址而不是 localhost 来访问 Flask 服务。
如许就可以让同一网络中的其他装备访问部署在 Mac 上的 Flask 服务了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 为什么同一个网络下的别的电脑无法访问部署在mac上的flask服务