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

应用配置从自动缩放改手动后遇模块缺失及500错误求助

问题排查与解决

核心原因

错误源于两个关键配置问题:

  • entrypoint 指定的index.js并非SvelteKit + adapter-appengine构建后的正确入口文件
  • handlers 配置不完整,导致请求路由无法正确处理,同时手动缩放模式下的/_ah/start健康检查无法通过

具体修复步骤

1. 修正entrypoint配置

SvelteKit通过adapter-appengine构建后,默认生成的入口文件是server.js(位于构建输出目录,通常是build文件夹)。修改entrypoint为:

entrypoint: node build/server.js

注:如果你的构建输出目录不是build,请替换为svelte.config.js中adapter配置指定的实际目录名。

2. 补全handlers配置

handlers字段缺失会导致App Engine无法正确路由请求,包括手动缩放必需的健康检查端点。完整配置应覆盖静态资源和动态路由:

handlers:
  # 处理SvelteKit生成的静态资源
  - url: /(.*\.(html|css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot))$
    static_files: build/\1
    upload: build/(.*\.(html|css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot))$
    secure: always

  # 转发所有动态请求给server.js
  - url: /.*
    script: auto
    secure: always

3. 验证构建输出

部署前先本地执行构建,确认build目录下存在server.js:

npm run build

检查build目录结构,确保server.js和静态资源都已生成。

4. 重新部署

修改完app.yaml后,重新部署到App Engine:

gcloud app deploy

额外说明

手动缩放模式下,App Engine会调用/_ah/start启动实例,只有该端点返回200状态码,实例才会被标记为健康。入口文件错误会导致实例启动失败,反复返回500错误。修正配置后,实例能正常启动,健康检查通过,错误即可消除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:27:10