TIP
本页配图较少,待维护者补充。如果无法解决问题或需要协助部署,可邮箱联系:kuohu@getastra.cn
部署相关
客户端连不上后端怎么办?
排查步骤:
- 确认后端是否运行。在服务器上执行
curl http://localhost:9000/web/menu,应返回 JSON 数据。连接被拒绝的话,重启后端服务。 - 确认客户端填写的地址正确:
- 内网:类似
192.168.1.100:9000 - 公网:类似
api.your-domain.com - 地址不要带协议头(如
https://),也不要以/结尾
- 内网:类似
- 检查防火墙:
- 内网环境:确认服务器防火墙已放行 9000 端口(参考
sudo ufw status) - 外网环境:确认 Cloudflare DNS 代理状态为橙色云朵
- 内网环境:确认服务器防火墙已放行 9000 端口(参考
- 测试网络连通性:在客户端电脑执行
ping 服务器IP或telnet 服务器IP 9000
管理端打开后显示白屏或一直加载?
排查步骤:
- 打开浏览器开发者工具(F12)→ Network 标签页,刷新页面
- 查看是否有请求失败(红色),通常是对后端 API 的请求
- API 请求失败说明后端未运行或登录页「后端地址」填错
- API 请求返回 401 说明认证失败(Token 无效或未登录);返回 403 说明权限不足,或请求被 Cloudflare WAF 拦截(见下文)
- 请求状态为
(failed)或net::ERR_CONNECTION_REFUSED的话,检查后端是否启动
外网部署后 API 返回大量 403 错误?
这是 Cloudflare WAF 误拦截。处理方式:
- 登录 Cloudflare 控制台 → Security → Events
- 查看最近被拦截的请求,确认触发拦截的规则名称
- 针对误判规则,创建「跳过」规则:
- 进入 Security → WAF → Custom rules
- 创建规则,操作为「跳过」→ 选择被误判的托管规则
- 将匹配范围限制为你的 API 域名
函数计算冷启动很慢,影响使用体验?
函数计算在长时间无请求后会回收实例,下一次请求需要冷启动(通常 2-5 秒)。
解决方案:
- 配置预留实例(推荐):在函数计算控制台 → 弹性管理 → 配置至少 1 个预留实例。始终有一个实例保持活跃,不会冷启动。预留实例按较低费率计费,通常每月几元钱。
- 定时保持活跃:使用云厂商的定时触发器,每 5 分钟访问一次
/web/menu,保持实例不被回收。 - 接受冷启动:如果对更新延迟不敏感(客户端并非实时推送场景),可以不处理。
SQLite 和 MySQL 怎么选?
建议不确定就选 SQLite,先用起来。以后需要迁移到 MySQL 时,通过管理端导出 JSON → 导入新后端即可。
域名怎么配置?DNS 和 CNAME 有什么区别?
简单理解:
- DNS 是域名系统,负责把域名翻译成 IP 地址
- CNAME 是 DNS 记录的一种类型,让一个域名指向另一个域名(而不是直接指向 IP)
AstraSchedule 需要配置的内容:
- 在域名注册商处,将域名的 DNS 服务器修改为 Cloudflare 提供的地址
- 在 Cloudflare 控制台添加两条 CNAME 记录:
api.你的域名.com→ 函数计算的 CNAME 地址admin.你的域名.com→ Cloudflare Pages 提供的域名地址
配置完成后等待 DNS 生效(通常几分钟到几小时不等)。
部署到 Cloudflare Pages 后,管理端修改后端地址需要重新部署吗?
不需要。管理端后端地址在登录页「后端地址」栏填写,保存在浏览器本地(localStorage),运行时修改即时生效,无需改代码或重新部署。
只有当你希望修改登录页的默认地址时,才需要改 src/global.js 中的默认值并重新构建。