elasticbeanstalk不会设置虚拟路径

Leo*_*rdo 7 amazon-elastic-beanstalk

我正在尝试新的AWS Elastic Beanstalk控制台ui.我现在遇到了在ui上设置虚拟路径的问题.

基本上我将所有静态文件,包括index.html ui放在我的包内的文件夹中.

这是捆绑结构:

/ui
/ui/favicon.ico
/ui/index.html
/ui/static
/ui/static/css/...
/ui/static/js/...
/ui/static/media/...
package.json
yarn.lock
app.js // this is the node api and it works
Run Code Online (Sandbox Code Playgroud)

当访问我的[ http:// public]/api/alive时,API会起作用.我的目的是将虚拟目录设置为从bundle文件夹ui提供静态文件.

节点api向下发送index.html它与任何东西不匹配的时间.这有效:[ http:// public] /.我明白了index.html.

然后浏览器请求静态文件/static/js/main[hash].js.这有效,但问题是我甚至无法设置任何虚拟路径来玩.我需要将浏览器请求映射/static/ui/staticAWS.

elasticbeanstalk错误:

在此输入图像描述

/ static /:无效的选项规范(Namespace:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'/ static /'):未知的配置设置.static /:无效的选项规范(Namespace:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'static /'):未知的配置设置./ assets:无效的选项规范(Namespace:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'/ assets'):未知的配置设置.static:无效的选项规范(Namespace:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'static'):未知的配置设置.

无论我把斜杠放在哪里,它都不会起作用:

在此输入图像描述

我指定的所有路径都存在于我部署的应用程序包中,除此之外/static/assets只是尝试不同的东西.

我不确定这是否是新UI上的错误.如果有人遇到同样的问题,请告诉我.

Nic*_*ady 8

我在尝试使用Amazon Linux 2从Python 3.7 Django 应用程序提供静态内容时发现了这个问题;但是,我认为对于不同的平台,答案是相同的。

阅读此处的文档我找到了此链接:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-staticfiles.html

这表明有一个.config像这样的示例文件

例子.ebextensions/static-files.config

option_settings:
  aws:elasticbeanstalk:environment:proxy:staticfiles:
    /html: statichtml  <-- path/to/your/static/dir/ (added by Nick)
    /images: staticimages
Run Code Online (Sandbox Code Playgroud)

所以,看起来命名空间从 更改aws:elasticbeanstalk:container:python:staticfilesaws:elasticbeanstalk:environment:proxy:staticfiles。这似乎是一个更通用的反向代理,与平台无关,这是有道理的。干得好,AWS。

当我尝试这个时,令人惊讶的是文档是最新的并且它有效。