【问题标题】:Kong {"message":"no Route matched with those values"}Kong {"message":"没有与这些值匹配的路由"}
【发布时间】:2020-12-14 13:04:34
【问题描述】:

我试过https://docs.konghq.com/getting-started-guide/2.1.x/expose-services/ 我也有本地服务器:kong/2.2.1 我可以同时注册服务和路由器,但是当我调用 kong 以重定向其给出以下错误时。

服务注册:

{
    "host": "localhost",
    "id": "2546864e-6ac0-41e5-b39f-b05310ac53f8",
    "protocol": "http",
    "read_timeout": 60000,
    "tls_verify_depth": null,
    "port": 16001,
    "updated_at": 1607946666,
    "ca_certificates": null,
    "created_at": 1607946666,
    "connect_timeout": 60000,
    "write_timeout": 60000,
    "name": "newkong",
    "retries": 5,
    "path": null,
    "tls_verify": null,
    "tags": null,
    "client_certificate": null
}

路由器注册:

{
    "id": "726eec9e-b179-4731-937f-e85a10101987",
    "tags": null,
    "paths": [
        "/customer"
    ],
    "destinations": null,
    "headers": null,
    "protocols": [
        "http",
        "https"
    ],
    "strip_path": true,
    "created_at": 1607946800,
    "request_buffering": true,
    "hosts": null,
    "name": "newkong-routing",
    "updated_at": 1608446942,
    "snis": null,
    "preserve_host": false,
    "regex_priority": 0,
    "methods": null,
    "sources": null,
    "response_buffering": true,
    "https_redirect_status_code": 426,
    "path_handling": "v0",
    "service": {
        "id": "2546864e-6ac0-41e5-b39f-b05310ac53f8"
    }
}

在 http://localhost:8000/customer/1 上调用 kong

以便它可以重定向到 http://localhost:16001/customer/1

{"message":"没有与这些值匹配的路由"}

【问题讨论】:

    标签: kong


    【解决方案1】:

    乍一看这应该可行。除了上游路径将被剥离,因为路由有"strip_path": true

    {
      "paths": [
        "/customer"
      ],
      "methods": null,
      "hosts": null,
      "snis": null,
      "headers": null,
      "protocols": [
        "http",
        "https"
      ],
      "strip_path": true,
      "created_at": 1607946800,
      "request_buffering": true,
      "name": "newkong-routing",
      "updated_at": 1608446942,
      "preserve_host": false,
      "regex_priority": 0,
      "sources": null,
      "response_buffering": true,
      "https_redirect_status_code": 426,
      "path_handling": "v0",
      "id": "726eec9e-b179-4731-937f-e85a10101987",
      "destinations": null,
      "tags": null,
      "service": {
        "id": "2546864e-6ac0-41e5-b39f-b05310ac53f8"
      }
    }
    

    由于唯一的路由属性集是“协议”和“路径”,它应该可以工作。你确定这是正确的吗?

    提出请求时:

    http://localhost:8000/customer/1
    

    它应该代理到:

    http://localhost:16001/1
    

    因为匹配的路径元素 (/customer) 正在被剥离。

    【讨论】:

      猜你喜欢
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 2014-09-27
      相关资源
      最近更新 更多