如何使用Azure APIM公开我的REST API?

时间:2019-07-29 17:17:58

标签: azure spring-boot virtual-machine azure-virtual-machine azure-api-management

我目前在Azure的VM上运行着Spring Boot REST API。

它正在localhost:8080上启动。

我在https://mydevapi.portal.azure-api.net有一个API管理实例,在该实例中,我已经使用OpenAPI定义上传了API实例。

我需要采取什么步骤,才能运行来自PC的GET请求(例如https://mydevapi.portal.azure-api.net/api/vehicles),并使API Management将请求路由到VM中运行的Spring Boot应用程序,并将响应路由通过APIM返回我的PC?

VM位于具有NSG和公共IP的VNET中。

APIM不在同一个VNET中。

我是否修改NSG以仅允许8080使用API​​M地址?怎么做?

是否添加策略以将请求路由到VM的公共IP地址?还是内部IP或Azure资源?看起来像什么?

1 个答案:

答案 0 :(得分:0)

简而言之,APIM必须能够调用您的应用程序。您可以将它们都放入VNET(为此必须使用Premium或Dev APIM),然后将API服务URL设置为您的VM IP地址。 或者,您需要确保您的APP公开公开,以便VNET之外的APIM仍然可以访问它。在这种情况下,还有其他方法可以保护它的安全,例如,您可以使用客户端证书身份验证来对服务的APIM进行身份验证。