我正在寻找一个实用的示例/教程,了解如何将 Google Cloud API Gateway 与 GKE 中托管的微服务/API 结合使用。例如,当我尝试创建 API 网关并将其指向 GKE 上的现有 API 时,出现以下错误:
后端 URL“http://35.xxx.xxx.xxx/legalentities”被禁止:无法通过 IP 地址路由请求。
答案1
这个案例在 StackOverflow 上得到解答经过@阿里·纳希德。
GKE 默认为入口控制器或负载均衡器生成 IP 地址,而 API 网关不允许 IP 地址作为 x-google-backend 的主机名。这是一个问题,希望在 API 网关发布测试版时能够解决。
我也遇到过同样的情况。以下是我解决这个问题的方法(使用 nip.io):
/products/getoptions:
get:
summary: get product options
operationId: getProductOptions
x-google-backend:
address: https://35.xxx.xxx.xxx.nip.io/api/productservice
path_translation: APPEND_PATH_TO_ADDRESS
parameters:
- name: x-access-token
in: header
description: Access Token
required: true
type: string
- name: x-refresh-token
in: header
description: Refresh Token
required: true
type: string
responses:
'200':
description: OK
schema:
type: object