问题标签 [ebextensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1541 浏览

amazon-web-services - 如何在 Elastic Beanstalk AWS 上修改 NGINX 路由?

因此,我有一篇长的文章与将 elixir 应用程序部署到 Elastic Beanstalk 相关(这里:HTTP 500 Deploying Elixir/Phoenix to AWS Elastic Beanstalk)。

我终于把问题归结为我的 NGINX 被错误地配置为路由流量。它发布了这个:

我在网上寻找可能的解决方案并发现(我还需要添加使用这段代码看起来最接近的 websockets 的能力:https ://scopestar.com/blog/aws/elasticbeanstalk/websockets/2016/10/21 /enable-websockets-on-elasticbeanstalk-nginx-proxy.html

到目前为止,我已经得到了以下内容 - 它删除了以前的配置,使用 websockets 编写了一个新配置。

但是我对如何进行实际路由有点坚持。有没有一个很好的例子来说明如何更改上游和服务器路由,以便它们正确握手并解决我遇到的错误?

编辑:

本网站:https ://dennisreimann.de/articles/phoenix-nginx-config.html

建议我在 Dockerfile 上获取我的图像并将所有流量路由到 localhost:myport,然后将其路由到 AWSEB:80,这似乎很简单。

我在 .ebextensions 作为 .conf 中做了如下所示的内容:

但是,这会产生不同的错误,我不确定我是越来越近还是越来越远。

这篇文章Nginx getting error with specific domain name表明我需要增加 http 块中的名称大小,但我不知道在 AWS EB 的 nginx 中的位置。

编辑:

以下是我从这里https://dennisreimann.de/articles/phoenix-nginx-config.html找到的代码片段(在其他地方我重新制作了我的文件,如下所示):

所以现在它在 docker 机器上引用 localhost 并路由到我的实例。或者我是这么想的。

这上传正常,但随后失败并显示以下 NGINX 日志:

我的应用程序开始重新启动

dockerfile 编译并在本地运行(使用非生产配置),我拥有我正在使用的教程所说的生产配置和 dockerfile(https://robots.thoughtbot.com/deploying-elixir-to-aws -elastic-beanstalk-with-docker),所以我唯一能想到的就是这一定是某种 NGINX 错误。

我觉得我更接近一点,尝试将 localhost 路由到 AWS EB 端点是正确的方向。

编辑:

我也对 ServerFault 提出了问题,因为他们可能是一个更有针对性的社区并且有一些想法https://serverfault.com/questions/884036/how-do-i-modify-nginx-routing-on-elastic -beanstalk-aws-so-x-post

0 投票
1 回答
153 浏览

amazon-web-services - 使用 .ebextensions 创建 WaitConditionHandle

我正在尝试WaitConditionHandle使用 AWS Elastic Beanstalk 配置文件 ( ) 在 ElasticBeanstalk 应用程序部署期间创建一个.ebextensions

配置文件在yaml下面是内容,根据CloudFormation 文档创建:

部署应用程序时,ElasticBeanstalk 在事件日志中显示以下错误:

错误服务:AmazonCloudFormation,消息:[/Resources/ELBWaitConditionHandle/Properties] 模板中不允许使用“空”值

ElasticBeanstalk 的 CloudFormation 堆栈未更新,因此即使在运行堆栈更新之前验证也失败。

0 投票
1 回答
1976 浏览

linux - Laravel - 弹性豆茎上的配置缓存

我有一个在 Elastic Beanstalk 环境中运行的 Laravel 应用程序。无法访问数据库、S3 和 SQS 变量我确实在 ebxtensions 上编写了一个配置,以便在部署期间使用echoOn a .sh hook 文件在 post-deploy 上复制一些环境变量,如下所示:

.env 文件已正确更新,但是在完成后运行的另一个 .sh 挂钩具有以下代码:

这会将缓存的配置文件保存为 .env 文件尚未更新。

现在 config:cache 命令需要在部署后手动运行,但我真的想让这个过程全部自动化。

任何想法为什么会发生这种情况?

0 投票
0 回答
697 浏览

amazon-web-services - 301 重定向 .ebextension 示例 - AWS Elastic Beanstalk

谁能帮助我提供一个示例 .ebextension 文件,该文件通过 Elastic Beanstalk 在负载平衡环境中向 IIS 添加 301 重定向?

我想重定向一个简单的 URL,例如:

example.com/solutions/

至:

example.com/what-we-do/

我们有一个 ebextension,它告诉 IIS 通过 https 提供服务,但我在任何地方都找不到有人试图通过 Elastic Beanstalk 将一个页面的简单 301 重定向添加到另一个页面到 IIS 的示例。

(来自 AWS 的 https 重定向:https ://github.com/awslabs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/security-configuration/https-redirect/dotnet/https-redirect-load-平衡 dotnet.config以获取信息)

0 投票
1 回答
976 浏览

amazon-web-services - .elasticbeanstalk/config.yml 是否有完整的配置选项列表?

您是否能够使用此文件来指定环境的所有选项?我在网上找不到列出所有可用选项的参考资料。我想设置的例子是:

  • 实例类型
  • 安全组
  • 负载均衡器设置(应用程序)

或者是否有可以在 .ebextensions 配置文件中设置的所有设置的参考?我找到了一些零碎的东西,但找不到列出所有内容的东西。

0 投票
1 回答
305 浏览

apache - YAML ebextensions 无效

我正在尝试将应用程序版本部署到弹性 beanstalk,但我的配置文件格式不正确。

有很多转义引号,所以我认为这是不正确的,但我不知道如何解决它。

这是导致问题的线路;

0 投票
1 回答
1581 浏览

spring - Http 到 Https AWS Elasticbeanstalk

我将 AWS Elasticbeanstalk 用于我的 Spring MVC Web 应用程序。我想将所有请求重定向到 https。我试着按照这个如何在弹性豆茎上强制使用 https?但这对我不起作用。此代码重定向到 https,但我的应用程序不起作用。它显示“此页面无法正常工作”。代码供您参考

0 投票
1 回答
399 浏览

amazon-web-services - 在 ebextensions 文件中使用环境变量

我有三个 AWS 账户。我已将我的 SSL 证书文件存储在其中一个 AWS 账户(比如 AWS1)中的 S3 中。我创建了一个 IAM 角色,该角色授予“GetObject”对 AWS1 中的 S3 存储桶的访问权限。然后,我为我在另一个 AWS 账户(比如 AWS2)中运行的单个实例应用程序配置了一个 ebextensions 文件,以使用我在 AWS1 中创建的 IAM 角色的 AccessKey 和 Secret 从 AWS1 中的 S3 存储桶下载 SSL 证书。

以下是我在 AWS2 中的应用程序的 .ebextensions 中的 http-single-instance.config 文件的一部分

但正如您所看到的,我必须将 AWS1 IAM 密钥值直接放在 AWS2 中的应用程序源代码中才能使其正常工作。除了将 accessKeyId 和 secretKey 的值放在实际的源代码中之外,是否可以从环境变量或 S3 以某种方式加载这些值?所以最后,如果我能得到类似的东西

对于在同一 AWS 账户中运行的应用程序,我已按照本文档中提供的说明进行操作 - https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-storingprivatekeys.html并且效果很好。我目前拥有的解决方案还可以根据需要使用正在下载的 SSL 证书,但我只想知道是否有办法更安全地执行此操作。

非常感谢任何帮助。谢谢!

0 投票
1 回答
677 浏览

amazon-web-services - Amazon Elastic Beanstalk ebextension

我想在 Amazon Elastic Beanstalk 上使用 ebextension 配置 nginx 配置,

conf的内容如下:

但总是得到关于内容的错误,

nginx:[emerg] 未知指令“文件:”在 /var/elasticbeanstalk/staging/nginx/conf.d/custom-nginx-proxy.conf:7

我把这个文件放在

0 投票
2 回答
2383 浏览

amazon-web-services - AWS EB + Nginx,更新 access.log 格式或创建新日志

我正在使用运行在 64 位 Amazon Linux/4.5.0 上的配置 Node.js 和 Nginx 在 AWS 的 Elastic Beanstalk 上运行应用程序。

我想将请求标头“X-My-Header”作为字段添加到 access.log。除此之外,我会使用复合默认 nginx 日志 + 我的标头创建一个新的日志文件。我发现了几个专门关于使用 nginx 进行日志记录的类似问题,但是 EB 方面抛出了一个额外的曲线球,说明如何通过 /.ebextensions 配置文件更新 nginx 配置。

我已经创建了一个日志文件,但它没有填充任何内容。我也尝试更新 access.log 文件,但这似乎也没有发生。我看到其他人添加标头将使用格式“$http_”,并且似乎“X-Header-Example”的 http 请求标头被格式化为“$http_header_example”(请参阅​​ nginx 复合默认值中的“$http_user_agent”) ,虽然不想在假设上浪费时间,但请注意我添加了“$http_x-my-header”和“$http_x_my_header”。

尝试 1:更新现有 access.log 格式

结果:access.log 不包含任何附加字段。它甚至没有空""的 s 或-.

尝试 2:创建一个新的日志文件

结果:new_log.log 现在出现在var/log/nginx我从 EB 仪表板导出日志时。然而,它完全是空的。

我读过一些其他类似的问题,提到删除文件和重新启动服务器有时会有所帮助。我尝试重新启动应用程序,甚至通过 EB 仪表板完全重建环境,都没有导致不同的结果。

我的解决方案主要基于这篇中等文章,第 2.1 节。但是,当我尝试将 .config 添加container_command到我的 .config 文件时,我的整个环境停止工作。我不得不恢复到不同的部署,然后重建环境以使其再次运行。

有小费吗?

我的目标是将此请求标头与传入的请求相关联。理想情况下,我可以更新现有的默认 access.log。我将解决一个单独的文件。或者,如果您对我如何能够访问此信息有任何其他建议,我会全力以赴!谢谢。

编辑一个新的尝试:

在这里它表明你可以完全替换默认的 nginx.config,所以我尝试删除我的其他文件,而是从之前的媒体文章中复制/粘贴默认值到一个/.ebextensions/nginx/nginx.config文件中,除了在那里添加我的更改。我更新log_format main以包括我的"$http_x_my_header"价值观。

不幸的是,部署失败并显示以下消息:

应用程序版本中的配置文件 .ebextensions/nginx/nginx.config 包含无效的 YAML 或 JSON。YAML 异常:无效的 Yaml:预期的 '',但在“”,第 7 行,第 1 列中找到标量:包括 /usr/share/nginx/modules ... ^,JSON 异常:无效的 JSON:位置上的意外字符 (u) 0..更新配置文件。

有问题的行是include /usr/share/nginx/modules,它在中篇文章提供的默认值中存在并且工作正常。

我希望这将是一个肮脏的修复,我至少可以从中获得一些结果,但是唉,它似乎还有另一个障碍。