问题标签 [aws-application-load-balancer]

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 投票
1 回答
492 浏览

amazon-web-services - 存储桶策略 Terraform AWS 中的未知原理

我正在学习如何使用 terraform 自动化基础设施。目前我有一个应用程序负载均衡器,我希望将日志从它发送到 S3 存储桶。我创建了一个指定策略的 json 文件,但是当我尝试应用 terraform 代码时,出现以下错误:

应用 Terraform 代码时出错

我检查了我的 AWS 帐号,检查了我登录的用户的权限,但无法弄清楚为什么会发生这种情况。下面也是我的策略的代码以及 S3 存储桶的创建。任何建议将不胜感激。

政策

}

S3 存储桶

应用程序负载均衡器

0 投票
1 回答
725 浏览

amazon-web-services - Terraform InvalidConfigurationRequest:S3 存储桶的访问被拒绝

我正在尝试将一些 terraform 代码部署到我设置了管理员访问权限的 AWS 环境中。此代码的目的是将日志从应用程序负载均衡器发送到 S3 存储桶。该代码能够毫无问题地创建存储桶,但是在记录其中的一部分时,我会遇到以下错误:在此处输入图像描述

我在如何解决这个错误时遇到了麻烦。下面是我创建负载均衡器、S3 存储桶的代码,以及我为进行日志记录而实施的策略。任何意见将是有益的。提前致谢。

S3 存储桶

应用程序负载均衡器

政策

}

0 投票
0 回答
250 浏览

cookies - AWS 应用程序负载均衡器规则不适用于 cookie?可能出了什么问题?

我在公司的开发运营团队工作。最近,我们转向了 aws 的应用程序负载均衡器,我们正在根据 cookie 的值转发请求。由于某种原因,该规则不起作用,AWS 不支持通过日志来获取有关规则失败原因的信息。

这可能有两个原因,我们可以想到:

  1. 负载均衡器无法读取 cookie:我们认为这不是问题,因为此负载均衡器下的应用程序能够读取并打印 cookie。

  2. 负载均衡器在第一次请求后不会读取后续的 cookie:我们已经向 AWS 提出了一个问题,他们仍然会回来。

同时,谁能指出我们可能忽略的任何问题?

0 投票
2 回答
37 浏览

amazon-web-services - 自定义路径的别名

我有 AWS ELB DNS 名称(Testing-QA-7849049.ap-south-1.elb.amazonaws.com)

它具有基于路径配置的路由

例如:Testing-QA-7849049.ap-south-1.elb.amazonaws.com/qa/index.html ---> 将指向 qa 服务器 Testing-QA-7849049.ap-south-1.elb.amazonaws。 com/qa1/index.html --> 将指向 qa1 服务器

现在我希望我的客户域成为这个名称的别名。

例如:

测试-QA-7849049.ap-south-1.elb.amazonaws.com/qa/index.html ---> mydomain/index.html

我怎样才能做到这一点。Go daddy 不允许 / 指向字段。

0 投票
2 回答
1163 浏览

amazon-web-services - 将 AWS Application Load Balancer 的可见性更改为内部负载均衡器

我创建了一个应用程序负载均衡器并将其设置为公共。我已经对某些东西进行了分叉,并希望将其转换为内部负载均衡器,以便仅向 VPC 资源公开。但是当我将可见性选项从“公共”更改为“内部”时,我收到了这个错误 -

0 投票
2 回答
1545 浏览

amazon-web-services - AWS Application Load Balancer 中将 HTTP 重定向到 HTTPS 将 POST 请求转换为 GET 请求

我使用 AWS 中的 Application Load Balancer 作为 API 网关:用于将请求转发到 AWS 中运行的不同应用程序。我已经为它配置了对 HTTP 和 HTTPS 的支持。HTTPS 侦听器包含请求转发的所有逻辑规则。HTTP 侦听器配置了一条规则:将所有流量重定向到 HTTPS 侦听器 ({host}:443/#{path}?#{query}) 并返回 301。

HTTPS 完美运行。HTTP 适用于 GET 请求。但是我发现对 HTTP 的 POST 请求在重定向到 HTTPS 时会转换为 GET 请求,这显然以 404 结束。

我在网上发现问题处于 301 状态(https://rtfm.co.ua/en/http-redirects-post-and-get-requests-and-lost-data/#The_root_cause_3xx_redirects_and_HTTP_RFC)。但不幸的是,AWS ALB 规则中没有选项可以重定向请求并返回 307 而不是 301。

那么有谁知道我该如何解决这个问题?谢谢!

0 投票
0 回答
122 浏览

nginx - Elastic Beanstalk WebSocket 连接断开

在 Elastic Beanstalk 和 Application Load Balancer 后面,我在 Embedded Jetty 上有一个 WebSockets 应用程序。

问题是连接在一分钟后被断开。尽管如此,我已经将 Application Load Balancer 的空闲超时设置为 300 秒(这是 Jetty 的默认超时)。

因此,我做了一些研究,我现在认为这是 Nginx 施加的超时,所以我按照这里的答案

我无法使用这样格式的 .ebextension 进行部署。Elastic Beanstalk 会告诉我要替换的文件不存在。之后,我遇到了这篇文章,所以我想出了以下脚本:

这样,我现在就可以部署了。但是,WebSockets 连接在一分钟后继续被丢弃。

谁能指出我做错了什么或者我接下来可以尝试什么?

请,任何帮助将不胜感激。

0 投票
1 回答
108 浏览

amazon-web-services - 在 AWS ALB 后面的容器上获取​​客户端真实 IP

我在 AWS Application Load Balancer 后面的 EC2 实例中运行单个容器。

容器使用 network_mode=host 运行并显示请求信息和标头的简单 JSON。问题是,我没有得到客户端真实 IP。相反,我在标头中获得了一个内部 IP X-Forwarded-For

还:

  • ALB 方案是内部的
  • 我们使用企业代理

我错过了什么?

JSON 响应:

0 投票
1 回答
2019 浏览

amazon-web-services - 将 ALB 的目标组附加到 Auto-scaling 组

我们知道,为了为自动扩展组附加应用程序/网络负载均衡器,我们需要将目标组附加到现有的自动扩展组以分配负载。在 Classic Load Balancer 的情况下,我们直接将负载均衡器附加到 ,ASG但在 的情况下ALB,我们通过由目标组成的目标组来完成,这些目标可以是实例、IP 或 lambda 函数。

我的问题是,这些目标组中的实例是为 ALB 定义的,还是ASG不同的?或者他们是一样的?如果它们相同,那么我们是否必须再次创建一个新的目标组,其中目标定义为 中的EC2实例ASG?我无法理解目标组中的实例到 ASG 中的实例的映射。我浏览了将负载均衡器附加到现有的文档ASG,但它所说的只是选择一个现有的目标组。

0 投票
1 回答
555 浏览

amazon-web-services - AWS ALB OIDC 身份验证 cookie 域问题

我有一个 AWS Cloudfront 托管网页,它从 S3 获取静态页面并调用自定义源 (ALB) 以获取动态数据。ALB 上启用了 OIDC 身份验证,因此对自定义源(我的 API)的调用通过 ALB 中设置的规则传递。

在特定情况下,当我对自定义源的请求未经身份验证时,我被重定向到 IdP 进行登录,成功登录后,我在响应标头中获取 cookie,因为此请求是从 ALB 发送到 IdP - 发出的 cookie 的域为 ALB DNS . 为了让我的网页使用这个 cookie,我必须将调用重定向到 Cloudfront URL。现在 cookie 已发送给具有不同 DNS 的 ALB,而我的 Cloudfront URL 具有不同的 DNS,因此我无法使用 cookie。

我试图捕捉 cookie 值,但因为它是为不同的域发布的,所以我无法捕捉到,作为设计的一部分,我觉得这是错误的。有人面临类似类型的问题。