我尝试在 Docker Desktop Kubernetes 集群中安装用于 Azure API 管理的自托管网关。
安装后心跳结果ok。
我已经部署了一个 Web API 服务进行测试,并尝试使用 Kubernetes 的 DNS 名称 CStandard 约定将后端 URL 配置为:
http://[服务名称].[命名空间].svc.cluster.local/api/v1/WeatherForecast/_me
但是当我尝试在 API 管理中测试调用时,我有
500 Internal Server Error: The remote name could not be resolved
如何设置 Kubernetes 集群中服务的后端 URL?
我知道这是一篇旧文章,但很好奇您是否找到了解决方案。我相信这是由于使用了自签名证书。如果您使用以下标头进行 API 调用;
OCP-APIM-TRACE:正确
您应该能够查看网关 Pod 并看到正在调用的后端 URL。在我的所有测试中,这似乎是指向 APIM Gateway Pod 的服务的 svc.cluster.local 地址,然后 APIM Gateway Pod 对您的实际后端服务执行某种代理请求。我运行了 kubectl exec 命令进入网关 Pod,针对相同的后端 url 运行curl。第一次调用因自签名证书错误而失败,这表明它使用的是“test.apim.net”证书。您可以通过在curl命令中添加--insecure标志来看到这一点。
我已阅读文档并按照步骤将自定义证书添加到自托管网关,
但是,我仍然得到相同的结果。自从这篇文章大约一年前创建以来,希望您取得更好的成功。如果没有,也许这可以为任何遇到相同情况的人添加一些额外的指导。