我已经在API管理中设置了一个简单的API。它是一个内部API,已连接到VNet。
我没有为其设置DNS,所以我正在通过内部IP地址对其进行测试。
请求看起来像这样:
GET http://10.x.x.x/query?id=3
如果仅发送请求而没有其他标头,则会收到503错误。
如果添加带有API域名的Host标头,如下所示:
GET http://10.x.x.x/query?id=3
Host: apixxxxx.azure-api.net
然后它可以工作,我收到200。
为什么会发生这种情况,如何禁用所需的Host标头?
或者如何从将要使用其自己的Host标头的系统中成功发出请求?
当您使用内部虚拟网络模式时,所有服务端点仅在您控制访问的虚拟网络中可见。它还包含请求。专用IP地址只能在虚拟网络内部访问。而且可以通过域名访问APIM,并且可以通过配置路由规则以内部模式将请求路由到后端。看一下DNS configuration。因此,您需要使用APIM域名设置主机以使其可访问。