【问题标题】:How to connect aws load balance (ELB) to node port 8081如何将 aws 负载均衡器 (ELB) 连接到节点端口 8081
【发布时间】:2019-12-10 23:33:31
【问题描述】:

我有 2 个 EC2 实例,我的节点应用程序在 8081 端口上运行

webserver 1 

http://ec2-3-17-133-60.us-east-2.compute.amazonaws.com:8081/

webserver 2

http://ec2-3-14-71-215.us-east-2.compute.amazonaws.com:8081/

现在我正在尝试从负载均衡器连接它

我为此负载均衡器配置的:

Load Balancer Protocol -> HTTP

Load Balancer Port -> 80

Instance Protocol -> HTTP

Instance Port -> 8081

Cipher -> N/A

SSL Certificate -> N/A

但是当我尝试打开我的 elb 网址时

http://myfirstelb-1516157627.us-east-2.elb.amazonaws.com/

什么都没有发生并以

结束

内部错误 - 服务器连接终止

我在这里缺少什么?

【问题讨论】:

    标签: node.js amazon-web-services amazon-elb


    【解决方案1】:

    验证的第一步是检查负载均衡器的目标组。前往目标组并验证目标和健康检查。

    在这里你会看到状态,如果它不健康然后后端没有响应 LB,

    一个原因,安全组不允许来自端口 8081 的流量。

    ping 路径不存在的另一个原因

    为健康检查创建一个目标页面,并将其路径指定为 ping 路径。

    这个 ping 应该返回 200

    连接超时

    首先,验证您可以直接从内部连接到目标 使用目标的私有 IP 地址和运行状况的网络 检查协议。如果无法连接,请检查实例是否在 过度使用,如果过度使用,请向您的目标组添加更多目标 忙着回应。如果可以连接,则可能是目标 页面在健康检查超时期限之前没有响应。选择 更简单的健康检查目标页面或调整健康检查 设置。

    目标没有返回成功的响应码

    默认成功码为 200,但您可以选择指定 配置运行状况检查时的其他成功代码。确认 负载均衡器期望的成功代码以及您的 应用程序配置为在成功时返回这些代码。

    您面向 Internet 的负载平衡器已连接到私有子网

    验证您是否为负载均衡器指定了公共子网。一种 公共子网有一条通往您的虚拟互联网网关的路由 私有云 (VPC)。

    安全组或网络 ACL 不允许流量

    负载均衡器的安全组和任何网络 ACL 负载均衡器子网必须允许来自客户端的入站流量,并且 到侦听器端口上客户端的出站流量。

    这是您可以从 AWS 文档中获得的内容

    HTTP 500:内部服务器错误 可能的原因:

    您配置了 AWS WAF Web 访问控制列表 (Web ACL),并且 执行 Web ACL 规则时出错。

    您配置了一个侦听器规则来对用户进行身份验证,但是其中一个 以下是正确的:

    • 负载均衡器无法与 IdP 令牌端点通信 或 IdP 用户信息端点。验证安全组 您的负载均衡器和 VPC 的网络 ACL 允许出站 访问这些端点。验证您的 VPC 是否可以访问 Internet。 如果您有面向内部的负载均衡器,请使用 NAT 网关 启用互联网访问。

    • IdP 返回的声明大小超过了最大大小 负载均衡器支持。

    • 客户端提交了一个没有主机头的 HTTP/1.0 请求,并且 负载均衡器无法生成重定向 URL。

    • 客户端提交了一个没有 HTTP 协议的请求,并且负载 balancer 无法生成重定向 URL。

    • 请求的范围不返回 ID 令牌。

    AWS LB http-500-issues

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 2017-09-04
      • 2021-01-03
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多