You need to enable JavaScript to run this app. MacOS如何向本地网络开放端口:实现Flask本地服务器的局域网访问
优惠活动
大模型
产品
解决方案
定价
更多

MacOS如何向本地网络开放端口:实现Flask本地服务器的局域网访问

MacOS 开放Flask服务局域网访问的配置流程

第一步:改对Flask服务的启动绑定参数

Flask默认启动的时候,只会绑定本地回环地址127.0.0.1,这个状态下只有Mac自己能访问服务,同网络下其他设备的请求会被Flask直接拒掉。必须调整启动配置,让服务能监听所有可被局域网访问的网络接口:

  • 如果用flask命令行启动服务,执行命令的时候追加host参数就行:
    flask run --host=0.0.0.0 --port=自定义服务端口
    比如用默认5000端口的最简启动命令就是:flask run --host=0.0.0.0
  • 如果是靠Python代码里的app.run()启动服务,就把启动参数改成下面的写法:
    app.run(host='0.0.0.0', port=自定义服务端口)
    这里的0.0.0.0不是指绑定某个远程地址,是说不锁死本机回环,所有指向这个端口的局域网请求都能接收到。

第二步:放行MacOS系统防火墙的传入连接

这是最容易踩的坑,很多人改完Flask参数还是连不上,基本都是系统防火墙拦了请求:

  • 打开Mac系统设置,找到「网络」分类下的「防火墙」配置页
  • 千万不要开「阻止所有传入连接」的开关
  • 点进防火墙的「选项」列表,找到跑Flask服务的那个程序(可能是终端、Python解释器、VS Code、PyCharm这类),勾选它的「允许传入连接」权限
  • 保存配置之后规则马上生效,不用重启系统

第三步:拿到Mac的局域网访问地址

前面两步都配完,就得找对Mac在本地网络里的内网IP,不然别的设备不知道往哪个地址发请求:

  • 打开终端跑个命令:ifconfig | grep "inet "
  • 从输出里找对应网卡的内网地址——连WiFi的话一般是en0接口下的地址,插网线的话一般是en1接口下的,通常是192.168.x.x、10.0.x.x这类,别把127.0.0.1当访问地址
  • 同网络下的手机、其他电脑,直接在浏览器输http://你的Mac内网IP:服务端口就能打开Flask页面,比如http://192.168.5.20:5000

连不上的时候先排查这几个点

  • 别给别的设备发127.0.0.1、localhost的链接,这些地址在别的设备上指的是设备自己,根本碰不到Mac上的服务
  • 确认Mac和要访问的设备连的是同一个WiFi/同一个局域网,别路由器开了AP隔离把设备之间的通信给断了
  • 如果换了Flask的启动端口,记得同步把访问地址里的端口号改成一致的,不然端口对不上肯定连不上

内容的提问来源于stack exchange,提问作者mathiasminacapilli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 18:27:04