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

Flask应用部署AWS Amplify遇404错误,求运行解决方案

Flask部署到AWS Amplify出现404错误的解决方法

问题背景

部署流程显示成功,但访问Amplify链接时出现错误:No webpage was found for the web address. HTTP error 404,构建日志中关键警告为:

!! No index.html detected in deploy folder: /codebuild/output/src3464593922/src/digital-me/

构建日志关键内容

## No backend environment association found, continuing...
Starting Frontend Build
                                 # Starting phase: build
                                 # Completed phase: build
2023-07-06T12:41:23.066Z [INFO]: ## Build completed successfully
2023-07-06T12:41:23.067Z [INFO]: # Starting caching...
2023-07-06T12:41:23.067Z [INFO]: Nothing to cache
2023-07-06T12:41:23.067Z [INFO]: # Caching completed
2023-07-06T12:41:23.069Z [INFO]: # No custom headers found.
**2023-07-06T12:41:23.083Z [WARNING]: !! No index.html detected in deploy folder: /codebuild/output/src3464593922/src/digital-me/**
2023-07-06T12:41:23.083Z [INFO]: # Starting build artifact upload process...
2023-07-06T12:41:23.380Z [INFO]: # Uploading build artifact '__artifacts.zip'...
2023-07-06T12:41:23.409Z [INFO]: # Uploading build artifact '__artifactsHash.zip'...
2023-07-06T12:41:23.579Z [INFO]: # Build artifact upload completed
2023-07-06T12:41:23.580Z [INFO]: # Starting environment caching...
2023-07-06T12:41:23.580Z [INFO]: # Uploading environment cache artifact...
2023-07-06T12:41:23.696Z [INFO]: # Uploaded environment cache artifact
2023-07-06T12:41:23.697Z [INFO]: # Environment caching completed
Terminating logging...

解决操作步骤

AWS Amplify默认适配静态前端站点,Flask是动态后端应用,需调整配置适配:

1. 修改构建与部署配置

在Amplify控制台的构建和测试设置中调整:

  • 构建命令:替换为安装依赖并启动WSGI服务器的命令,示例:
    pip install -r requirements.txt && pip install gunicorn && gunicorn -w 4 -b 0.0.0.0:5000 app:app
    
    (app:app对应入口文件app.py中的Flask实例名,需根据实际代码修改)
  • 部署目录:设置为Flask应用的根目录,无需指定静态文件目录

2. 确认应用基础配置

  • 项目根目录下必须有requirements.txt,包含Flask、gunicorn等依赖,示例内容:
    Flask==2.3.3
    gunicorn==21.2.0
    
  • 检查Flask入口文件(如app.py)存在根路由:
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def home():
        return "Flask App Running!"  # 或返回渲染的模板页面
    

3. 启用Amplify后端部署(稳定方案)

若自定义构建命令无效,可使用Amplify后端托管功能:

  • 在Amplify控制台添加后端环境,选择Python运行时
  • 上传requirements.txt和Flask源码,配置启动命令为gunicorn app:app

4. 配置重写规则(解决路由跳转问题)

如果访问动态路由仍报错,在Amplify的重写和重定向中添加规则:

  • 源地址:</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json)$)([^.]+$)/>
  • 目标地址:/
  • 状态:200(Rewrite)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:54:55