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

Shopify应用模板部署至ECS失败问题排查求助

解决Shopify应用ECS部署+ALB健康检查失败问题

问题根源

Shopify CLI生成的Node.js/Express应用,默认路由都会经过ensureInstalledOnShop中间件,该中间件强制要求请求携带shop查询参数。但ALB的健康检查请求是无参数的基础请求,因此触发错误导致健康检查失败。

具体解决步骤

1. 添加独立健康检查路由

在Express应用中新增一个不受Shopify中间件拦截的健康检查接口,直接返回成功状态:

// 注意:此路由要放在Shopify认证中间件(如shopify.authenticate.admin)之前
app.get('/health', (req, res) => {
  res.status(200).send('OK');
});

2. 调整ALB目标组健康检查配置

  • 将健康检查路径修改为/health
  • 端口设置为容器暴露的8081
  • 调整健康检查参数(如:正常阈值2次、异常阈值2次、间隔5秒),给容器足够的启动初始化时间

3. 验证容器服务监听配置

确保Express应用监听0.0.0.0而非仅localhost,否则ALB无法访问容器内服务:

app.listen(8081, '0.0.0.0', () => {
  console.log('应用运行在8081端口');
});

可进入ECS容器内部,执行curl localhost:8081/health验证路由是否正常返回200。

4. 检查网络权限

确认ECS任务的安全组允许ALB所在安全组访问8081端口,避免网络层面拦截健康检查请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 05:07:00