Azure API 管理总是返回 404 资源未找到

Posted

技术标签:

【中文标题】Azure API 管理总是返回 404 资源未找到【英文标题】:Azure API management always returning 404 resource not found 【发布时间】:2020-12-12 02:07:18 【问题描述】:

我在 AZURE 中有一个 API 实例,其配置如下。

    API 端点:corol.abpparking.domain.com API 后缀:myaboutpage 后端 Web 服务 URL:http://10.20.10.2:8080/api/v1/

什么有效 如果我如下直接调用 web 服务 URL 以操作 GET 到 /about,我得到响应代码 200

http://10.20.10.2:8080/api/v1/about
Response: 200

什么不起作用 如果我通过 APIM 执行相同的操作,我会得到一个 404 资源未找到。

http://corol.abpparking.domain.com/myaboutpage/about
Response: 404 Resource not found

我不知道我们可能是什么原因。请注意,我在 Swagger 定义中没有任何基本路径。

【问题讨论】:

【参考方案1】:

确保检查 Azure APIM 中的 API 是否配置为除了 HTTPS 之外还接受 HTTP。您可以在设置 API 后端 URL 的同一页面上的 API 设置中进行设置

【讨论】:

谢谢,但没有帮助。 您是否尝试过使用默认 APIM 主机名 - .azure-api。网?我只看到 corol.abpparking.domain.com 的 A 记录,它是否映射到 APIM IP 地址? 非常感谢。在其中一个应用程序 pod 中使用 nginx pod 代理配置正确配置内部应用程序路由后,该问题得到解决。事实上,这是一个应用程序端配置问题。非常感谢您的宝贵时间。

以上是关于Azure API 管理总是返回 404 资源未找到的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core Web API HTTP POST 在 Azure 中返回 404

在 Azure 的 ASP.NET Core 3.1 应用程序中获取 swagger-ui 返回 404

没有 user_impersonation 的 Azure 资源管理 API,可以吗?

是否可以使用 Azure 资源管理器 API 向队列或主题发送和检索消息

Azure 资源管理器 API 用户的订阅范围授权

无法对 Azure 上的 API 管理执行资源所有者密码 OAuth2 身份验证