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

在DigitalOcean App Platform部署Express服务后路由异常求助

解决DigitalOcean App Platform上Express路由异常问题

你的代码本地运行正常,但部署到DO App Platform后/test路由返回根路径内容,核心问题大概率是平台的路由转发配置没做好,以下是具体排查和解决步骤:

1. 开启路由的"Preserve Path"设置

这是最常见的原因:DO默认可能会重写请求路径,如果没开启"Preserve Path",/test的请求会被转换成/发送给你的Express服务,自然只会匹配到根路由。

  • 操作:进入DO控制台→你的应用→"Routes"标签
  • 找到/test对应的路由规则,点击编辑
  • 确保"Preserve Path"选项处于开启状态
  • 根路径/的路由也建议确认该设置,保存后重新部署应用

2. 确认路由目标组件正确

有时候可能误把/test路由指向了静态资源或其他组件,而非你的Node.js服务:

  • 在"Routes"页面,检查每个路由的"Destination"是否选择了你的Node.js服务组件(不是静态站点、数据库等)
  • 嫌单独配置麻烦的话,可以直接设置一条/*的路由规则指向服务,让Express自行处理所有路径匹配

3. 修改Express监听地址为0.0.0.0

虽然根路径能访问,但确保服务监听所有网络接口,避免只绑定localhost导致的潜在问题:

app.listen(SERVER_PORT, '0.0.0.0', () => {
  console.log(`Server running on port ${SERVER_PORT}`);
});

4. 查看应用日志确认请求路径

如果以上步骤还没解决,去DO控制台的"Logs"标签,查看请求日志,看/test请求到达服务时的实际路径是什么。如果日志里显示请求路径是/,那就是路径被重写了,回到第一步确认Preserve Path设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:01:42