我希望有人可以帮助理解我在这里做错了什么,因为我完全困惑和迷失了。
我正在尝试以内部模式构建 API 管理,并在其前面有一个应用程序网关。
根据 Microsoft 文档,我构建了以下资源:
根据我在网上找到的文档和一般建议。我创建了一个 Keyvault 并生成了一个证书。在主题中我设置了这个 CN:
api.test.com
我为此 KeyVault 分配了托管身份。
在此步骤之后,我创建了一个 API 管理服务。里面唯一的 api 是 a
/configurations
一旦完成。在 Newtork 选项卡中,我将 Api 管理设置为内部模式,并选择了我的虚拟网络和我为此服务设计的子网。到目前为止一切都很顺利。更新完成后,我在 api 管理中设置了自定义域。
在选项卡中
Custom Domain
我添加了一个新域,在主机名中我设置了与在KeyVault中设置的相同的CN
api.test.com
并选择必须从中获取正确证书的 KeyVault。
一切都在这里完成。
我在设计的虚拟网络和子网中创建了应用程序网关。
我首先将后端池设置为 API 管理的网关 url
api.test.com
我通过协议 HTTPS 端口 443 设置了 HTTP 设置,如下
仍然在应用程序网关中,我在端口 443 上设置侦听器,并从 KeyVault 选择我的证书
在规则中,我配置了侦听器和后端目标以定位后端池。
此时,当我测试探针时:
我收到以下错误
Cannot connect to backend server. Check whether any NSG/UDR/Firewall is blocking access to the server. Check if application is running on correct port.
我检查了我的两个安全组,设置如下
这是 apim 的消息
这适用于应用程序网关
任何人都可以帮助理解我在这里做错了什么吗?因为我不知道可能出了什么问题。
如果您需要更多信息,请随时告诉我。如果很容易,我可以在此处发布我的 terraform 脚本来部署此基础设施。