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

时间:2016-03-15 15:26:15

标签: 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”:“证书'933EDADD0C4037F6A0C02D38DFD5AF4A76FXXXXX'无效。域名:api.test.mydomain.com”,“details”:null,“innerError”:null}

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

我们的CNAMES设置如下。

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

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

1 个答案:

答案 0 :(得分:4)

看起来您正在尝试使用主题名称为* .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个网址。