API 网关 Http 集成到 Aspnet Core Web Api
API Gateway Http Integration to Aspnet Core Web Api
正在尝试将 API 网关资源设置为本地 REST API。我已经配置了一个简单的资源天气预报,通过 HTTP 集成到我的托管网站 api。这个 API 只不过是带有 WeatherForecast 控制器的 aspnetcore web api 的入门项目。
它(我认为)在各个方面都与演示亚马逊 hosts 相同。当我去测试它时,我没有得到任何回应。如果我按照教程配置宠物资源,我会收到回复。两者都有效 json.
我不确定我还需要做什么。我想要的只是通过 API 网关显示一个 REST 端点,并让它 return 来自我在 prem 上托管的应用程序的响应?
所以问题最终出在我们的基础设施上。将答案作为其他人遇到问题时要检查的内容。
在我们的例子中,应用程序位于防火墙和负载平衡器后面。 HTTPS 终止在负载平衡器上卸载。
当我设置集成 URL 以使用 HTTPS 时,API 网关抛出错误。所以我最初尝试使用 HTTP。因为初学者模板 Web API 项目包括
app.UseHttpsRedirection();
在 startup.cs 中,当请求到达应用程序时,将发生 302 重定向到 HTTPS。这是 API Gateway 的细微差别之一发挥作用的地方。如果您没有将 API 网关配置为在收到 302 时也进行重定向,则会返回默认状态代码 200。
我们最终修复了 SSL 错误。负载平衡器缺少中间证书。它不会在浏览器中显示错误,但像 curl 这样的工具会抛出错误。
正在尝试将 API 网关资源设置为本地 REST API。我已经配置了一个简单的资源天气预报,通过 HTTP 集成到我的托管网站 api。这个 API 只不过是带有 WeatherForecast 控制器的 aspnetcore web api 的入门项目。
它(我认为)在各个方面都与演示亚马逊 hosts 相同。当我去测试它时,我没有得到任何回应。如果我按照教程配置宠物资源,我会收到回复。两者都有效 json.
我不确定我还需要做什么。我想要的只是通过 API 网关显示一个 REST 端点,并让它 return 来自我在 prem 上托管的应用程序的响应?
所以问题最终出在我们的基础设施上。将答案作为其他人遇到问题时要检查的内容。
在我们的例子中,应用程序位于防火墙和负载平衡器后面。 HTTPS 终止在负载平衡器上卸载。
当我设置集成 URL 以使用 HTTPS 时,API 网关抛出错误。所以我最初尝试使用 HTTP。因为初学者模板 Web API 项目包括
app.UseHttpsRedirection();
在 startup.cs 中,当请求到达应用程序时,将发生 302 重定向到 HTTPS。这是 API Gateway 的细微差别之一发挥作用的地方。如果您没有将 API 网关配置为在收到 302 时也进行重定向,则会返回默认状态代码 200。
我们最终修复了 SSL 错误。负载平衡器缺少中间证书。它不会在浏览器中显示错误,但像 curl 这样的工具会抛出错误。