其他分享
首页 > 其他分享> > 烧瓶-静态资产被推到弹性beanstalk时返回404错误

烧瓶-静态资产被推到弹性beanstalk时返回404错误

作者:互联网

我正在运行一个Flask应用程序,当我在本地运行该应用程序时,它可以正常运行.当我将其部署在弹性beantalk上时,所有静态资产(css,js,img)都会返回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

知道为什么它不会在弹性beantalk上加载吗?

解决方法:

一个可能的问题:Elastic Beanstalk将您的本地权限与部署的应用程序匹配.您的文件可能是所有者/组可读/可写的,这对于本地测试而言很好,但是外部用户将无法在Web服务器上查看它们.

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

标签:amazon-web-services,jinja2,flask,elastic-beanstalk,python
来源: https://codeday.me/bug/20191119/2035656.html