我的本地机器是一个虚拟的CeontOS-7,带有一个包含Flask应用程序目录的Python 2.7 virtualenv,结构如下:
/var /www /myAppenv /myApp /.ebextensions myApp-env.config /.elasticbeanstalk application.py requirements.txt /flaskApp /core views.py models.py forms.py /templates /static
我使用EB CLI部署它从/ myApp部署到名为myApp的Beanstalk应用程序,并使用名为myApp-env的环境.
我认为静态文件路径在/.ebextensions/myApp-env.config中设置正确:
option_settings: "aws:elasticbeanstalk:container:python:staticfiles": "/static/": "flaskApp/static/"
我可以在AWS web console-> environment-> Configurations-> Software Configuration中看到
StaticFiles: /static/=flaskApp/static/
所以路径设置似乎不是问题的原因.
因此,当我打开我的应用程序的网页时,我看到页面缺少css和js,因为静态目录中的所有内容都获得403禁止响应:
GET http://myApp-dev.elasticbeanstalk.com/ [HTTP/1.1 200 OK 174ms] GET http://myApp-dev.elasticbeanstalk.com/static/bootstrap-3.3.5-dist/js/bootstrap.min.js [HTTP/1.1 403 Forbidden 55ms] ...
猜测它是关于权限的东西,因为在我的本地dir文件由我的linux帐户拥有(出于samba的原因),然后我尝试chown root和chgrp root(静态目录和文件权限是755),但它没有改变任何东西.我实际上并不认为与防火墙/ selinux有关,因为主页实际上正在加载.
有人知道如何解决这个问题吗?