Serverless Offline在M1 Pro 16寸MacBook(Monterey)无法访问接口
Serverless Offline 本地运行返回403无访问日志解决方案
优先排查端口冲突(M1 Monterey 系统特有问题)
Mac OS Monterey 及以上系统默认开启「AirPlay 接收器」功能,该服务默认占用 5000、7000 端口。即使 serverless-offline 启动日志显示监听 5000 端口,实际请求会被系统级的 AirPlay 服务拦截,因此返回 403 且你的服务无访问日志。
解决方法二选一:
- 关闭 AirPlay 接收器:打开「系统设置」→「通用」→「隔空投送与接力」→ 关闭「AirPlay 接收器」开关,重启 serverless-offline 服务后重试
- 更换监听端口:启动 serverless-offline 时指定未被占用的端口,执行命令:
或在serverless offline start --port 5001serverless.yml的 custom 配置段添加:custom: serverless-offline: port: 5001
检查 host 绑定配置
部分版本的 serverless-offline 在 ARM 架构设备上默认绑定 IPv6 地址::1,若 Postman 请求使用 IPv4 地址127.0.0.1会导致请求无法到达服务。
解决方法:启动时指定绑定所有网卡地址:
serverless offline start --host 0.0.0.0
或在serverless.yml的 custom 配置段添加:
custom: serverless-offline: host: 0.0.0.0
验证 serverless-offline 版本兼容性
- 卸载全局安装的 serverless-offline,优先使用项目本地依赖版本:
npm uninstall -g serverless-offline npx serverless offline start - 若仍有问题,升级项目内的 serverless-offline 到最新稳定版:
npm install serverless-offline@latest --save-dev
排查网络拦截设置
检查系统防火墙、代理软件是否拦截了本地端口的请求,可临时关闭相关软件后重试。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

