问题标签 [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.
amazon-cognito - 为什么.auth.us-east-1.amazoncognito.com 给了我一个空白页?
我在 ECR>ECS>Fargate 上部署了一个简单的 Flask 应用程序。该应用程序正在由 Application Load Balancer 加载,并且 Cognito 用于身份验证。
我的回调 url 是https://ApplicationLoadBalancer的 DNS/oauth2/idpresponse
如果我尝试https://ApplicationLoadBalancer的 DNS 一切正常,会弹出登录页面,我可以毫无问题地登录。
但是,如果我尝试使用 Cognito 中域名下设置的 https://.auth.us-east-1.amazoncognito.com,我只会得到一个空白页。如果我更进一步并尝试 https://.auth.us-east-1.amazoncognito.com/login 我得到'必需的字符串参数'client_id'不存在'
任何帮助是极大的赞赏。
谢谢!
amazon-web-services - 使用 AWS ALB 让子域指向不同的目标组
现在example.com
,我在 Google Domains 上托管了一个域 ( ),但使用了 Amazon 的 Route 53 DNS 服务器,并且我创建了一个托管区域并使用 ACM 免费注册了 SSL 证书。所以我得到它来接受请求example.com
并将它们转发给目标组(EC2 实例)。
我想将其扩展为:
staging.example.com
prod.example.com
每个人都有自己指向的目标群体。
ALB可以做到这一点吗?我如何将其编码到负载均衡器的路由规则中?
(另外:我是否必须重新验证子域的 SSL 证书?)
amazon-web-services - 向 Application Load Balancer (ALB) 注册 EC2 实例时出现问题
根据文档,我应该能够使用elb_instance模块注册 EC2 实例,但播放失败并显示ELB Staging1 does not exist
. 对于健全性检查,我尝试使用 AWS CLI 工具,但使用An error occurred (LoadBalancerNotFound) when calling the RegisterInstancesWithLoadBalancer operation: There is no ACTIVE Load Balancer named 'Staging1'
. 作为情节转折:
- AWS 控制台将 ALB 显示为“活动”
elb_application_lb_facts
也列出来ec2_elb_facts
没有列出它(它只列出了我拥有的经典 ELB)
似乎应用程序负载均衡器仅在较新的 api 版本中受支持,并且模块或 cli 不适合使用它。但是我找不到明确提到它们不应该工作。我也知道elbv2
command,但它似乎没有提供将实例注册到 ELB 的方法。
我在这里想念什么?
我写的 Ansible 任务:
使用 cli 工具替代aws
(也不起作用):
amazon-web-services - 如果我们有用于 Node 应用程序的 AWS 应用程序负载均衡器,Nginx 会变得多余吗?
我有一个在 AWS 上运行的 Node 应用程序。投入生产时,它很有可能会收到大量请求。我计划使用 AWS ECS 托管它,并且在应用程序前面会有一个 AWS 应用程序负载均衡器。当我查看“如何在生产中部署 Node 应用程序”时,我看到每个人都在建议在 Node 应用程序前面使用 Nginx。
我的疑问是,如果我们在架构中有 ALB,我们是否还需要添加 Nginx?如果我们需要为 100 万用户托管应用程序,使用 Nginx 有什么好处吗?
docker - aws ecs 上的 nginx docker 容器 >> 普通 HTTP 请求已发送到 HTTPS 端口
我有一个在 aws ecs ec2 实例上运行的前端 Angular 应用程序,并且两者都连接到网络负载均衡器的 TCP 端口 443 和 80。我将在这个具有多个域名的 nginx docker 容器上配置许多 vhost。在 ecs 服务中,要负载平衡的容器被指定为端口 443。我们必须选择容器的端口 443 或 80 来进行负载平衡。https://prnt.sc/pocu41
. 在 https 上,网站加载正常。但是在http上我得到了错误
我打算在 docker 容器上使用 ssl 证书,而不是在负载均衡器上使用 ssl。如果我在负载均衡器上选择 ssl,那么我们需要在应用程序负载均衡器默认证书中使用多域 ssl,并且在有数百个域时可能不可行。
我的 Nginx conf 看起来像这样
知道我们如何解决这种情况吗?
amazon-web-services - ALB 抱怨 cognito
我正在尝试将应用程序负载均衡器连接到 AWS Cognito,除了尝试保存更改并收到此错误“用户池客户端必须具有客户端密码”外,一切似乎都正确,我用谷歌搜索但没有找到任何有用的东西。
我能够成功测试 Cognito 身份验证 UI(我认为...),所以我不明白 AWS 为什么会抱怨用户池客户端。
所以问题是,有没有人遇到过这个问题,如果你遇到过,你是怎么解决的?
编辑:
基本上,我所做的一方面是我将 Cognito 配置为仅与 Google OAuth 一起使用(我删除了亚马逊默认的 OAuth),另一方面我创建了一个具有多个规则的应用程序负载均衡器,每个规则指向一个不同的目标group,每个目标组是一个运行在 Kubernetes 上的 Docker 应用程序。(又名 EKS)。所有这些应用程序都有不同类型的身份验证,或者根本没有。所以想法是在 ALB 中添加一个规则来使用 Cognito 对用户进行身份验证。问题是,在添加了所有必需的参数之后,就在我要保存我的更改时,所有这些新的更改。我收到一个错误“用户池客户端必须有一个客户端密码”,我用谷歌搜索了那个确切的句子,除了我在其他地方发布的帖子外,我什么也没得到。
谢谢你的时间!
amazon-web-services - 为 AWS Application Load Balancer 使用静态 ip
我们的要求是
- 将静态 IP 分配给 ALB,因为我们的许多客户已将其列入防火墙白名单。
- X-Forwarded-For HTTP 标头应该包含客户端 IP 地址,因为我们有一个类似https://www.whatismyip.com/的服务正在运行,我们的数千个 IOT 设备已经在使用它。
尝试了以下解决方案,但它没有执行 #2,我们在 X-FF https://aws.amazon.com/blogs/networking-and-content-delivery/using-static中看到内部 NLB ip 而不是客户端 IP -ip-addresses-for-application-load-balancers/
是否有任何负载均衡器可以执行 #1 和 #2,或者 AWS 可以根据要求实现这一点?任何帮助/指针表示赞赏,谢谢!
amazon-web-services - 为 alb 创建目标组(应用程序负载均衡器)
在将 ALB 的目标组创建为 port 的私有 r 公共 vpc 时8080
,为什么我需要提及路径,对于常规的 html 页面,我们有.index
文件,但是当我们在 port 运行应用程序时8080
,我们如何定义路径?
amazon-web-services - AWS Application Load Balancer 未加载指向同一 EC2 实例的目标组之一
我有一个 EC2 实例,它安装并配置了两个应用程序
- Jenkins(在端口 8080 上运行,我已将其配置为使用上下文路径
/jenkins/
) - SonarQube(在端口 9000 上运行,我已将其配置为使用上下文路径
/sonar/
)
当我简单地点击 EC2 实例的公共 DNS 时,会发生以下情况
- http://sample-ec2-public-ip:8080/jenkins(Jenkins加载成功)
- http://sample-ec2-public-ip:9000/sonar (SonarQube加载成功)
我添加了一个具有 2 个目标组和 2 个侦听器规则的 Application Load Balancer。两个目标组都指向同一个 EC2 实例以访问 SonarQube 和 Jenkins
- 第一个监听器规则指向路径 /jenkins/ 到 ec2 实例的 8080 端口
- 第二个侦听器规则指向路径 /sonar/ 上的 9000 端口,指向同一个 ec2 实例
我有一个用于指向域的 AWS Route53 RecordSet。这是 Route53 记录集的代码
健康检查已通过,我看到两个目标组都将相同的 ec2 注册为健康(一个用于声纳,另一个用于同一 ec2 上的詹金斯)
当我点击jenkins.mydomain.com/jenkins
Jenkins 时加载得非常好,我可以使用它,但是当我点击sonar.mydomain.com/sonar
Sonar 时,它卡在“加载屏幕”上。当我检查页面时,我看到有一些 JS 文件 Sonar 无法找到(404 错误)并且 sonar 在加载时冻结。
这只发生在我放置应用程序负载平衡器时。当我通过 EC2 公共 IP 访问 Jenkins 和 Sonar 时,我可以很好地访问 Jenkins 和 Sonar。
谁能帮我解决应用程序负载均衡器的这个问题?它应该像这样工作吗?
java - 如何在 AWS ElasticBeastalk Application Load Balancer 上运行的 Spring webapp 上获取请求者 IP
我有一个使用 Spring 作为后端框架用 Java 编写的 Web 应用程序。此应用程序在带有应用程序负载均衡器的 AWS ElasticBeanstalk 上运行。我想知道如何获取向我的网络应用程序发送请求的所有用户的 IP。
[编辑 1] 我注意到,只要这样做,我就能正确获得我的 IP 地址。
我不知道是否有特殊情况下这不起作用。