问题标签 [aws-nlb]

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 回答
140 浏览

docker - recv() 在代理和从客户端读取时失败(104:对等方重置连接)

我们正在尝试使用 nginx 访问 AWS IOT 核心域。为此,我将端口 8883 上的所有 tcp 流量转发到 iot core dns。

我们在 nginx 访问日志中间歇性地收到以下错误

2021/10/07 12:12:43 [info] 31#31: *1261231 recv() 在代理和从客户端读取时失败(104:连接重置),客户端:,服务器:0.0.0.0:8883,上游:“:8883”,来自/到客户端的字节:196274/173718,来自/到上游的字节:173718/196274

0 投票
0 回答
17 浏览

amazon-web-services - AWS 应用程序负载均衡器运行状况检查失败,但网络负载均衡器运行状况检查正常

设置:我在不同 AZ 的 2 个私有子网中有 2 个 Windows Ec2 实例,并且都具有端口绑定:IIS 上的 80 和 443。EC2 实例的各个安全组在所有端口上为自身设置了入口规则,并在任何地方设置了 80/443(0.0.0.0/0)[我知道来自任何地方的入口没有用]。我在公共子网中有一个应用程序负载均衡器,并绑定到 EC2 实例的安全组。ALB 具有 HTTP(端口 80)的重定向规则和附加的目标组,用于 HTTPS(端口 443)转发到 EC2 实例。HTTPS 目标组正在转发到端口 80。

问题陈述:针对 HTTPS 目标组对我的实例的运行状况检查失败。或者,我创建了一个具有 2 个目标组的网络负载均衡器:1 个用于 TCP(端口 80),1 个用于 TLS(端口:443),并将请求转发到创建的 2 个 EC2 实例。NLB 的健康检查很好,我什至可以通过 NLB 访问托管在 Ec2 实例上的 Web 应用程序。

问题:你们中的任何人都可以告诉我我在这里缺少什么吗?请注意,两个负载均衡器都是在公共子网中创建的,而实例在私有子网中。

0 投票
1 回答
143 浏览

amazon-web-services - AWS EKS 上的 Nginx 入口控制器背后的 Asp.net Core 得到“502 Bad Gateway”

我遵循aws的指南,并在 Nginx 入口控制器前面成功地拥有一个带有 NLB 的 EKS 集群。路线运行良好,我可以访问 /banana 和 /apple,我觉得还可以

然后,我尝试添加另一个 ASP.net 应用程序并更新入口

不幸的是,当我尝试访问路径 /moba-web-portal 时,我无法弄清楚为什么我只是得到“502 Bad Gateway”

我还尝试将服务名称“moba-web-portal”切换为使用另一个使用 nodejs 构建的 docker 映像,然后它可以正常工作,所以我对 asp.net 应用程序表示怀疑,但这可能不是问题,因为我使用微软的 docker 镜像。所以,我想我错过了 Ingress 的一些配置,你能提供一个线索吗?

编辑:我还尝试在 EC2 工作节点内测试我的 docker 映像,我的 docker 映像使用 docker run 命令看起来不错

编辑以提供更多屏幕截图 在此处输入图像描述

0 投票
1 回答
103 浏览

authentication - 如何限制对 AWS NLB 的访问?

  • 服务 A:我有一些 AWS 资源位于 AWS NLB 后面。
  • 服务 B:调用由服务 A 的 AWS NLB 公开的端点。该服务具有所需的所有身份验证。

但是我遇到了一个问题,

如果恶意用户能够侵入服务 B,由于服务 A 对服务 B 的身份验证的隐式信任,服务 A 将让恶意用户调用其 API。我想要以下内容来缓解这个问题,

只有服务 B 应该能够调用服务 A 公开的 API。

通常这应该很容易使用 IAM 角色/策略,但我猜 NLB 并不适用于我的用例,即只让选定的服务调用它。我猜 NLB 的设计是为了让任何人都可以调用它。有没有办法实现这种形式的服务到服务通信?

PS:我知道如果我们使用这里提到的 AWS ALB 和 AWS Classic LB 可以做到这一点,因为这两者都在请求级别工作,但 NLB 在 OSI 模型的连接级别(传输层)工作。

将 Application Load Balancer 和 Classic Load Balancer 的安全组配置为仅接受来自特定客户端的流量。这些安全组必须允许来自侦听器端口上的客户端的入站流量和到客户端的出站流量。

0 投票
1 回答
26 浏览

terraform - Terraform 中的 AWS NLB over Helm - 如何查找 DNS 名称?

我正在使用由 Terraform 提供的Helm 图表,它创建了网络负载均衡器,但我不知道如何获取此均衡器的 DNS 名称,因此我可以在 Terraform 中为其创建 Route53 记录。

如果我能得到它的 ARN,我可以通过数据块调用它并读取 dns_name,但是 Helm 无法为我返回类似的东西。

你有什么建议吗?
我想尽可能保持它为 IaC

PS:我将一些值传递给 Helm 图表,因此它正在创建 NLB,此图表的本机功能是创建经典 LB。

0 投票
0 回答
43 浏览

amazon-web-services - 使用 AWS NLB 进行交叉负载平衡的好处 - 每个 AZ 单个 EC2 实例

我在 AWS 环境中有以下配置: 1 个 NLB 注册到 2 个 AZ 每个 AZ 1 个 EC2 实例注册到 NLB 跨区域负载平衡被禁用。

在这种情况下启用跨区域负载平衡有什么好处?在这种情况下,启用跨区域负载平衡会产生什么影响吗?

0 投票
0 回答
14 浏览

spring-boot - AWS NLB 上的 Springboot OIDC 客户端应用程序,两个 EC2 随机给出 403

我有一个带有 Security + OAuth2 的 Springboot 应用程序。应用程序部署在 NLB 后面的两个 AWS EC2 实例上。

如果我只部署在一个 EC2 上,应用程序工作正常,因为 NLB 会将所有请求发送到该节点。但是如果我在两个节点上部署,那么我会随机收到 HTTP 403 Forbidden错误,因为 cookie 设置在节点 1 并且后续请求是/可能会发送到其他节点。

我尝试使用粘性会话选项,但它似乎不适用于 NLB - TLS。

AWS 上或代码中是否有任何其他配置可以帮助解决此问题?

0 投票
1 回答
22 浏览

amazon-web-services - AWS NLB:基于路径将请求转发到单个主机的不同端口

使用此流程:

external world --> AWS API Gateway ---> VPC Link ---> Network Load Balancer ---> my single EC2 instance

如何配置 AWS 网络负载均衡器,以便:

  1. 请求https://myapp.com被路由到80我的 EC2 实例的端口。

  2. 请求https://myapp.com/api/*被路由到3000我的 EC2 实例的端口。

?

目前我只在 NLB 上配置了一个侦听端口的侦听器,80来自 API 网关的所有流量都被路由到80我的 EC2 实例的端口。

我发现在 Application Load Balancer 中,您可以配置将路径映射到不同端口的“规则”:AWS ALB 中基于路径的路由到具有多个端口的单个主机

这在 NLB 中可用吗?

0 投票
0 回答
25 浏览

aws-msk - MSK 引导服务器端点在集群重新创建之间固定

为在 MSK 集群重新创建时不会更改的代理实现静态 IP 地址或 DNS A 记录或别名的推荐方法是什么?考虑到这种情况应该发生的罕见程度,将 NLB 放在它前面似乎有点矫枉过正,甚至可能会导致一些问题?

0 投票
1 回答
341 浏览

kubernetes - 如何将 aws nlb 与用于 ssl 的 nginx 入口控制器一起使用

我已将 AWS ACM 提供的 SSL 证书附加到 NLB。NLB 会将请求转发到 nginx 入口。Nginx 给我以下错误。The plain HTTP request was sent to HTTPS port. 我在 nginx 入口中设置了以下注释。

  • nginx.ingress.kubernetes.io/force-ssl-redirect: false
  • nginx.ingress.kubernetes.io/ssl-redirect: false

我在 NLB 后面运行的 nginx 入口服务中设置了以下注释。

  • service.beta.kubernetes.io/aws-load-balancer-backend-protocol:http
  • service.beta.kubernetes.io/aws-load-balancer-ssl-cert:“证书
  • arn" service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https
  • service.beta.kubernetes.io/aws-load-balancer-type: nlb