【发布时间】:2018-06-14 16:06:36
【问题描述】:
我正在尝试新的 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
API 在访问我的 [http://public]/api/alive 时有效。我的意图是设置虚拟目录以从捆绑文件夹 ui 中提供静态文件。
当它不匹配任何东西时,节点 api 会发送 index.html。这有效:[http://public]/。我收到了index.html。
然后浏览器请求静态文件/static/js/main[hash].js。这可行,但问题是我什至无法设置任何虚拟路径来玩。我需要将浏览器请求 /static 映射到 AWS 的 /ui/static。
elasticbeanstalk 错误:
/static/:无效的选项规范(命名空间:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'/static/'):未知的配置设置。 static/:无效的选项规范(命名空间:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'static/'):未知的配置设置。 /assets:无效的选项规范(命名空间:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'/assets'):未知的配置设置。 静态:无效的选项规范(命名空间:'aws:elasticbeanstalk:container:python:staticfiles',选项名称:'static'):未知的配置设置。
无论我把斜线放在哪里,它都不起作用:
我指定的所有路径都存在于我部署的应用程序包中,除了 /static/assets 只是为了尝试不同的东西。
我不确定这是否是新 UI 上的错误。如果有人遇到同样的问题,请告诉我。
【问题讨论】:
-
没关系。我将在单独的步骤中将 Web 静态文件部署到 S3。缺点是我必须对 API 进行跨域 API 调用。这可能是一个更好的结构。
-
我遇到了与此处描述的完全相同的问题,如果有人有答案,我仍然对答案感兴趣。
-
我在那里找到了关于我的 Node.js EBS 的相同问题的答案 stackoverflow.com/a/47655177/1345244