Flask 的静态资产 return 推送到 Elastic Beanstalk 时出现 404 错误

Static assets for flask return 404 error when pushed to elastic beanstalk

我正在 运行 安装一个 Flask 应用程序,当我在本地 运行 它工作正常。当我在 elastic beanstalk 上部署它时,所有静态资产(css、js、img)return 出现 404 错误。

我在我的模板文件中使用 jinja url_for 来调用静态资源(下面的示例)。

<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/profile.css') }}">

我的目录结构是这样的:

/myapplication
    /config
    /webapp
        /static
            /css
                style.css
                profile.css
            /js
                profile.js
        /templates
            layout.html
            profile.html
            login.html
        views.py
        __init_.py
    application.py

知道为什么这不会加载到 elastic beanstalk 上吗?

一个可能的问题:Elastic Beanstalk 会将您的本地权限与已部署的应用程序相匹配。您的文件可能是 owner/group readable/writable,这适合本地测试,但外部用户将无法在 Web 服务器上查看这些文件。

我遇到了同样的问题,但是在我对所有静态文件 运行 chmod 664 之后,它们现在在我部署的应用程序中可见。