如何将不使用Next.js的自定义React SSR应用部署到AWS Amplify?
AWS Amplify 自定义React SSR部署问题解答
核心结论
- 你提到的AWS Amplify 2021年推出的SSR支持是Next.js框架专属,目前官方没有提供自定义React SSR应用的原生部署支持,无法直接复用Next.js的部署流程。
- 「Amplify会调用
start命令运行应用」的说法不准确:普通静态部署场景下Amplify只会上传你指定的静态产物,不会执行任何服务启动命令;仅针对官方适配的SSR框架(如Next.js 12及更早版本),Amplify会内部识别框架规则启动服务,不会直接调用你package.json中定义的start命令。
你当前配置失效的原因
你的配置文件名存在拼写错误,正确应为amplify.yml,拼写错误会直接导致配置不生效。
同时你当前配置走的是静态资源托管逻辑:
构建完成后仅上传
dist目录下的所有文件作为静态资源对外提供访问,全程不会启动你打包好的Node.js SSR服务,自然无法运行SSR逻辑。
可行的部署方案
你可以选择两种方案实现自定义React SSR应用部署:
- 适配Amplify计算资源
将你的SSR服务改造为适配Amplify Compute或者Lambda@Edge的格式,修改amplify.yml配置额外指定服务运行规则,而非仅上传静态产物。该方案改动成本较高,且没有官方文档参考,需要自行调试适配逻辑。 - 拆分部署架构
将客户端打包产物交给Amplify做静态托管,SSR服务单独部署到ECS、EC2或者Lambda等计算资源上,再通过CloudFront配置路由规则:静态资源请求直接走Amplify托管地址,动态SSR请求转发到你部署的SSR服务上。
内容的提问来源于stack exchange,提问作者user8826104
相关产品推荐
相关产品推荐

