You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Appwrite Flutter短信认证连接超时问题排查求助

排查Appwrite手机号认证连接超时问题

针对你遇到的AppwriteException: null, Connection timed out (0)错误,按以下步骤逐一排查:

  • 验证Appwrite端点的可达性
    确认AppConstants.endpointId的正确性:

    • 若在模拟器/真机上测试,不能用localhost,需替换为Appwrite服务器的本地IP(比如http://192.168.x.x:80/v1)或公网地址
    • 在设备的浏览器中直接访问该端点,检查是否能返回Appwrite的API响应(正常会返回包含"status":"ok"的JSON)
  • 检查Appwrite服务的网络配置

    • 确认docker-compose.yml中Appwrite容器的端口映射正确(默认80/443端口已映射到宿主机)
    • 检查宿主机防火墙是否开放了Appwrite的服务端口,确保设备能正常连接
  • 校验TextMagic配置的有效性

    • 确认.env中的_APP_SMS_PROVIDER已替换掉占位符[USERNAME]和[API-KEY],使用的是TextMagic的真实账号信息
    • 手动测试TextMagic API连通性:
      curl -X POST https://rest.textmagic.com/api/v2/sms -u YOUR_USERNAME:YOUR_API_KEY -d "text=Test&phones=+你的测试手机号"
      
      若无法收到短信,说明TextMagic的账号或密钥存在问题,需先解决这个环节
    • 检查_APP_SMS_FROM是否是TextMagic后台已验证的发送号码/短代码,未验证的号码无法用于发送短信
  • 查看Appwrite服务日志
    执行以下命令查看Appwrite的详细日志,定位具体错误:

    docker logs appwrite
    

    日志中若出现TextMagic连接失败的信息,说明是Appwrite到短信服务商的网络问题(比如宿主机无法访问TextMagic的API)

  • 确认客户端网络权限

    • Android:在AndroidManifest.xml中添加网络权限:
      <uses-permission android:name="android.permission.INTERNET"/>
      
    • iOS:在Info.plist中添加网络访问权限配置,确保应用能正常发起网络请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:30:53