【问题标题】:Network Load Balancer Listeners and VPC connection relationshipNetwork Load Balancer Listeners 和 VPC 连接关系
【发布时间】:2021-03-01 19:47:09
【问题描述】:

向 NLB 添加侦听器时,您只需指定端口和协议。假设我创建了一个到 NLB 的 VPC 连接,其中我有一堆不同的侦听器。在 API Gateway 集成请求中,我现在使用此 VPC 链接提出请求,并指定 Endpoint URL 的:http://foobar:yolo/api

foobar 的主机是否实际使用过,或者我可以在那里写点什么吗?因为只有http 协议和yolo 端口将请求路由到侦听器。楼主还重要吗?还是仅当您的端点能够理解 tcp 并因此读取请求中的主机时才使用主机?

【问题讨论】:

  • 您在询问 REST 或 HTTP API?
  • 两者。我想知道来自 API 网关的两种 VPC 连接之间的区别。
  • "我现在使用此 VPC 链接发出请求" - 您的意思是 HTTP API 中 Secure server name - optional 的值?
  • 在API GW中创建VPC链接时,有2个选项,我想知道两者有什么区别。和。为什么当你使用一个NLB,它的监听器只依赖于端口和协议时,你需要指定一个包含主机的URL,这在LB监听器路由逻辑中没有使用。

标签: amazon-web-services amazon-elb


【解决方案1】:

foobar 的宿主是否实际使用过,或者我可以在那里写任何东西吗?

是的,它被使用了,你不能写任何东西。 API 网关会将您的请求发送到您要指定的Endpoint URL。如果您指定http://foobar.com/api,您的请求将失败。只有当您实际拥有与您的 NLB 关联的域 foobar.com 时,它们才会成功。

因此,如果您没有域,则必须使用 AWS 为您的 NLB 提供的默认 DNS name:例如:

http://yyyy-fd434e91.elb.us-east-1.amazonaws.com

相比之下,如果您拥有一个域foobar.com,并且您想使用http,您将使用:

http://foobar.com

如果您想要HTTPS,并且在 NLB 上部署了适当的 SSL 证书以及 TLS 侦听器,那么您可以编写:

https://foobar.com

此外,NLB 后面的应用程序将在来自 API 的请求中以 Host 标头接收来自 Endpoint URL 的主机,例如:'

Host: yyyy-fd434e91.elb.us-east-1.amazonaws.com

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 2021-11-25
    • 2017-07-30
    • 1970-01-01
    • 2017-09-07
    • 2018-06-24
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    相关资源
    最近更新 更多