gpt4 book ai didi

amazon-web-services - 如何设置 API 网关与私有(private) NLB 通信?

转载 作者:行者123 更新时间:2023-12-02 02:51:08 29 4
gpt4 key购买 nike

我一直在使用 ALB,直到我意识到我无法将私有(private) ALB 连接到 API 网关......所以现在正在尝试 NLB。

到目前为止我有

  • 私有(private) NLB
  • API Gateway VPC Link 连接到 NLB

  • 但我不确定如何正确配置 API 网关。我做了:
  • 创建了一条测试路线GET /test
  • 使用 VPC 链接,尝试代理和非代理类型
  • 但我不确定我为端点 URL 放了什么。现在我做了类似的事情:http://dummydomain.com/api在哪里 dummydomain.com是一个虚拟域和 /api是我的状态检查 URL,应该可以使用

  • 这是我第一次尝试 NLB。有什么我想念的吗?

    目前,当我测试我的 API 网关功能时:我得到 HTTP500
    {
    "message": "Internal server error"
    }

    日志:
    Execution log for request 2d5e2e51-b04c-11e8-b9fe-97b354c20146
    Tue Sep 04 14:09:45 UTC 2018 : Starting execution for request: 2d5e2e51-b04c-11e8-b9fe-97b354c20146
    Tue Sep 04 14:09:45 UTC 2018 : HTTP Method: GET, Resource Path: /test
    Tue Sep 04 14:09:45 UTC 2018 : Method request path: {}
    Tue Sep 04 14:09:45 UTC 2018 : Method request query string: {}
    Tue Sep 04 14:09:45 UTC 2018 : Method request headers: {}
    Tue Sep 04 14:09:45 UTC 2018 : Method request body before transformations:
    Tue Sep 04 14:09:45 UTC 2018 : Endpoint request URI: http://dummydomain.com/api
    Tue Sep 04 14:09:45 UTC 2018 : Endpoint request headers: {x-amzn-apigateway-api-id=4p76zcriuk, User-Agent=AmazonAPIGateway_4p76zcriuk, Host=dummydomain.com}
    Tue Sep 04 14:09:45 UTC 2018 : Endpoint request body after transformations:
    Tue Sep 04 14:09:45 UTC 2018 : Sending request to http://dummydomain.com/api
    Tue Sep 04 14:09:56 UTC 2018 : Execution failed due to configuration error: There was an internal error while executing your request
    Tue Sep 04 14:09:56 UTC 2018 : Method completed with status: 500

    我很好奇的事情......目标群体有
  • 协议(protocol):TCP
  • 端口:80
  • 目标类型:IP
  • 健康检查通过

  • 但是我的应用程序在端口 3000 上运行。但是运行状况检查通过它也正确反射(reflect)了我的应用程序在端口 3000 上运行

    enter image description here

    但是想知道端口 80 部分是否有问题? NLB 是否将端口 80 流量转换为端口 3000?

    最佳答案

    Endpoint URL 有点小技巧。它强制您提供域(您可以使用任何域)。当您提出请求时,该域似乎被剥离并替换为您的 VPC 链接。

    例如。

    http://dummydomain.com/api -> http://{NLB DNS}:80/api

    您也可以使用 {proxy}作为端点 URL 的一部分,与 API Gateway 代理资源一起使用。

    例如。 http://dummydomain.com/api/{proxy}使用顶级代理资源将导致:
    {api gateway endpoint}/todo/1 -> http://{NLB DNS}:80/api/todo/1

    您可以将 NLB 端口配置为端点 URL 的一部分。

    例如。
    http://dummydomain.com:10001/api -> http://{NLB DNS}:10001/api

    这允许您在 NLB 上包含多个指向不同目标组的监听器。

    要进行故障排除,请通过在同一 VPC 上启动 EC2 实例并从那里 curl 您的端点 URL 来测试您的(内部)NLB(将 http://dummydomain.com 替换为 NLB DNS)

    关于amazon-web-services - 如何设置 API 网关与私有(private) NLB 通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168194/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com