我目前在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使用APIM地址?怎么做?
是否添加策略以将请求路由到VM的公共IP地址?还是内部IP或Azure资源?看起来像什么?
答案 0 :(得分:0)
简而言之,APIM必须能够调用您的应用程序。您可以将它们都放入VNET(为此必须使用Premium或Dev APIM),然后将API服务URL设置为您的VM IP地址。 或者,您需要确保您的APP公开公开,以便VNET之外的APIM仍然可以访问它。在这种情况下,还有其他方法可以保护它的安全,例如,您可以使用客户端证书身份验证来对服务的APIM进行身份验证。