macOS本地Appwrite服务器无法与Flutter应用连接的问题求助
Flutter 本地连接 Appwrite 服务器问题排查方案
检查Appwrite跨域(CORS)配置
进入Appwrite控制台,打开对应项目的「设置」→「平台」,添加你的Flutter应用对应的平台(桌面/移动)。同时在「API设置」里,确保Access-Control-Allow-Origin包含你使用的端点地址(如http://127.0.0.1:8080、http://localhost:8080)。可通过命令curl -I http://127.0.0.1:8080/v1查看响应头里的CORS配置是否正确。针对不同Flutter平台调整端点
- iOS模拟器:直接使用
http://localhost:8080/v1即可,若无效,检查Appwrite是否监听0.0.0.0:8080(而非仅127.0.0.1)。 - Android模拟器:需替换为
http://10.0.2.2:8080/v1(Android模拟器访问主机本地服务的专属地址)。 - macOS桌面应用:确认应用已获得网络访问权限(系统设置→隐私与安全性→网络),使用
http://127.0.0.1:8080/v1或主机名地址均可。
- iOS模拟器:直接使用
验证服务器监听状态
用命令lsof -i :8080检查端口占用,确认Appwrite进程的监听地址为*:8080(允许所有网卡访问)。同时在浏览器访问http://127.0.0.1:8080/v1/health,若返回{"status":"ok"}则服务器运行正常。修正Flutter客户端初始化代码
确保初始化时配置正确,尤其是本地部署未使用HTTPS的情况,必须开启自签名证书支持:final client = Client() .setEndpoint('http://127.0.0.1:8080/v1') .setProject('你的项目ID') .setSelfSigned(status: true);排查防火墙与Docker配置(若适用)
- macOS防火墙:在系统设置→网络→防火墙中,允许Appwrite相关进程(如Docker容器进程)接收8080端口连接。
- Docker部署:检查
docker-compose.yml的端口映射规则,确保8080端口正确映射到Appwrite容器的对应端口(默认是80)。
内容的提问来源于stack exchange,提问作者Balkis
相关产品推荐
相关产品推荐

