api - 无法使用子域进行 Azure API 管理

标签 api azure azure-api-management

为 Azure API 管理创建 CNAME 时是否可以使用多级子域?

我在 Azure 中设置了一个域,如下所示;

mydomain.com        <- main web site as an Azure web app
api.mydomain.com    <- API managed by Azure API Mgmt
portal.mydomain.com <- Portal managed by Azure API Mgmt

这工作正常,但我们想设置一个结构化测试子域,如下所示;

test.mydomain.com        <- main web site as an Azure web app
api.test.mydomain.com    <- API managed by Azure API Mgmt
portal.test.mydomain.com <- Portal managed by Azure API Mgmt

我们已经创建了 test.mydomain.com Web 应用程序,但 Azure API 管理不允许我们使用子域 api.test 或 Portal.test。

它生成的错误是;

{"code":"InvalidOperation","message":"Certificate '933EDADD0C4037F6A0C02D38DFD5AF4A76FXXXXX' is invalid. Domain name: api.test.mydomain.com","details":null,"innerError":null}

如果我们使用单个主机(例如,不带点的 apitest 而不是 api.test),这种情况就会消失。

我们的 CNAME 设置如下。

api mydomainapi.azure-api.net
api.test mydomaintestapi.azure-api.net
portal.test mydomaintestapi.azure-api.net

我已经尝试了各种令人厌恶的 awverify 策略,我们已经能够使用这些自定义域(而不是 Azure API 端点)来托管 Web 应用程序。

最佳答案

您似乎正在尝试使用主题名为 *.mydomain.com 的 SSL 证书?如果是,则预计会出现错误,因为 *.mydomain.com 的 SSL 通配符证书将匹配 apitest.mydomain.com,但不会匹配 api.test.mydomain.com。这与 APIM 具体无关,这就是证书主题名称匹配规则的定义/实现方式。

这是关于相同内容的一个解释 wildcard ssl on sub-subdomain

您可以获取新证书或在 SAN 中添加 *.test.mydomain.com 以获得相同的证书,然后相同的 SSL 证书将适用于您的所有 3 个网址。

关于api - 无法使用子域进行 Azure API 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36015483/

相关文章:

javascript - 无法从 JSON 获取嵌套对象

javascript - 直接从浏览器中的输入将 Assets 上传到 contentful (sdk CMA) 时出错

azure - 是否可以在没有订阅 key 的情况下调用 Azure API Rest url?

Azure API 管理测试控制台停止工作

azure - 如何使用 Azure API 管理入站策略中的根 CA 证书验证我的客户端证书?

api - 是否有可能获得带有 X 点赞帖子链接的 reddit 的 RSS 提要?

javascript - 如何使用JavaScript通过电子邮件将HTML表单数据发送到电子邮件ID,而不使用服务器端语言,不使用电子邮件客户端安全?

azure - 即使 URI 匹配,我仍收到 Azure 应用程序的 URI 重定向错误

python - 是否可以使用 Pulumi 创建 Azure 服务主体?

azure - 在 Azure 应用服务中授权 GitHub Enterprise 部署过程