无法为 Azure API 管理使用子域

Unable to use a sub domain for 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 网络应用程序,但是 Azure API 管理不允许我们使用子域 api.test 或 portal.test。

它产生的错误是;

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

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

我们的CNAMES设置如下。

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

我已经用 awverify abominations 尝试了所有类型的 jiggery pokery,我们已经能够使用这些自定义域来托管 Web 应用程序,而不是 Azure API 端点。

看起来您正在尝试使用主题名称为 *.mydomain.com 的 SSL 证书?如果是,那么错误是预期的,因为 *.mydomain.com 的 SSL 通配符证书将匹配 apitest.mydomain.com 但不会匹配 api.test.mydomain.com.这与 APIM 具体无关,这就是证书主题名称匹配规则的方式 defined/implemented。

这里有一个关于相同的解释wildcard ssl on sub-subdomain

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