【问题标题】:AWS forward port 8000 from elb to port 8000 of EC2AWS 将 elb 的 8000 端口转发到 EC2 的 8000 端口
【发布时间】:2018-03-15 17:35:25
【问题描述】:

我有一个 ELB,在目标组中注册了多个 EC2 实例。我正在使用端口一个运行正常的 php 应用程序。它有 SSL。

我想为我的节点应用程序使用端口 8000。我想做的是我想将 my-elb-address:8000 转发到 any-ec2-ip:8000。因此,当我使用端口 8000 访问连接到 ELB 的域时,它会将其转发到端口 8000 的 ec2。我该如何实现呢?他们还有其他 ELB 侦听和转发多个端口的方式吗?

我在 ELB 中添加了端口 80,443 和 8000 的侦听器。请帮忙

【问题讨论】:

    标签: amazon-web-services amazon-ec2 port portforwarding elastic-load-balancer


    【解决方案1】:

    经典ELB

    使用“经典”ELB,您可以在 AWS 控制面板中定义转发端口的自定义规则:

    请注意,请求将被转发到所有可用实例,这意味着在上面的示例中(假设 php 运行在 80,节点上。 js 在 8000 上)所有实例都必须同时运行这两个服务。如果服务位于不同的实例上,您将需要两个不同的负载均衡器,每个端口一个。

    应用ELB

    另一种选择是使用“应用程序”ELB (ALB)。 此选项将允许使用具有细粒度规则的单个负载均衡器,这些规则将允许针对每个协议将请求转发到一组实例。

    • 创建一个“默认”ALB
    • 添加一个新的目标组(参见侧边栏中负载平衡部分下的条目)监听您的自定义端口
    • 注册运行您的node.js应用程序的实例(右键单击目标组)
    • 将目标组绑定到 ALB 的侦听器

    另一种解决方案是,指定基于路径的规则,仅使用一个端口 (443) 并仅将 /to_nodejs 下的请求转发到端口 8000。

    【讨论】:

    • 老实说,我一直试图在我的负载均衡器的监听选项卡下找到它,我在那里找不到这个 UI。你能帮我在哪里找到它吗?
    • 好的,谢谢,我知道了,它在 ELB 设置向导中:|
    • 您还可以从侦听器选项卡中编辑现有呼叫者
    • 其实我有一个应用负载均衡器,它没有这样的选项。我必须为此创建一个经典的负载均衡器。 :\
    • ALB 不允许您指定要转发到的自定义端口,只能侦听。一切仍然在端口 80 或 443 下进行。
    猜你喜欢
    • 1970-01-01
    • 2018-09-13
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2018-01-20
    • 1970-01-01
    相关资源
    最近更新 更多