Google端点在日志中为GET /提供了无效的HTTP模板/

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google端点在日志中为GET /提供了无效的HTTP模板/相关的知识,希望对你有一定的参考价值。

我正在使用Google端点来部署我的一些API。我在返回HTTP 200的[GET /]上公开运行状况API,以便GKE入口可以通过调用此API将我的容器视为运行状况良好。

但是当我使用[ip-address /]调用此端点时,端点总是抱怨方法不存在。这对于路径[ip-address / hello]

正常工作

问:我是否应该以其他不同方式配置/端点。

下面是ESP(GKE可扩展服务代理容器)的启动程序日志

nginx: [warn] Using trusted CA certificates file: /etc/nginx/trusted-ca-certificates.crt
2020/06/02 11:33:13[error]1#1: Invalid HTTP template: /
2020/06/02 11:33:13[error]1#1: Failed to add http rule: selector: "1.abcd_api_endpoints_my_app_cloud_goog.GetHealth"
get: "/"

我的开放式api分隔词yaml

swagger: "2.0"
info:
  title: Dummy API
  description: Dummy API
  version: 1.0.0
host: abcd-api.endpoints.my-app.cloud.goog
consumes:
  - application/json
produces:
  - application/json
schemes:
  - http
paths:
  /:
    get:
      description: Logs service health status
      operationId: getHealth
      responses:
        '200':
          description: Logs service health.
  /hello:
    get:
      description: Returns Hello World
      operationId: helloWorld
      responses:
        '200':
          description: Returns Hello World
答案

在阅读了esp的Google端点限制之后,我知道esp拒绝了根路径上的请求。

https://cloud.google.com/endpoints/docs/openapi/openapi-limitations#operations_on_url_root_path_

为了解决此问题并提供运行状况端点esp提供了--healthz参数。

https://cloud.google.com/endpoints/docs/openapi/specify-proxy-startup-options

https://github.com/GoogleCloudPlatform/endpoints-samples/blob/master/k8s/esp_echo_gke_ingress.yaml

以上是关于Google端点在日志中为GET /提供了无效的HTTP模板/的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Pub/Sub 订阅创建期间出现无效推送端点错误

在 Spring Boot Actuator 中为 /health 端点启用 CORS

请帮助:“在Wordpress中为foreach()提供了无效的参数”

在 Java 应用程序中为开发和发布提供各种 URL 端点的正确方法是啥?

使用 vue js 时在 laravel 中为 foreach 提供的参数无效

提供的值无效(IRI 无效?) 测试 api 平台端点时出错