0

我正在使用 Azure API 管理服务,在消费层中,我通过 Cloudflare 的免费帐户注册了一个“自定义域”,在 cloudflare 中注册域并配置完全加密。
在此处输入图像描述

还将域作为 DNS 添加到我的 API 管理中,例如 CNAME“third.two.example.com”。
在此处输入图像描述

完成后,为我将使用的域创建一个源服务器证书,它是第三级域示例“third.two.example.com”,然后下载证书和密钥(PEM 和 KEY)。
在此处输入图像描述

完成此操作后,因为 Azure 在 API 管理中添加证书时向我抛出错误“内容类型需要是应用程序 / x-pkcs12”。我必须将证书从 PEM 转换为 PKCS12,我在我的计算机上使用 OpenSSL 中的以下脚本完成了它。

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

(我没有添加任何密钥)。
在此处输入图像描述

然后我将证书上传到 Azure Key Vault 作为证书,这不会给我带来任何问题。
在此处输入图像描述

最后,我将域“third.two.example.com”添加到我的 Azure API 管理中,在 API 管理中引用为自定义域,引用上传到 Key Vault 的证书,该过程运行正常,一切都很好。
在此处输入图像描述

但是,当输入此域时,浏览器会显示以下错误:
在此处输入图像描述

当尝试通过启用 SSL 的 Postman 调用 API 时:
在此处输入图像描述

我还收到以下错误:
在此处输入图像描述

你可以告诉我我做错了什么或者我的所有配置都错误,我真的对数字证书没有太多了解,所以我不知道我是否应该做一些额外的事情或者我正在使用的配置不是正确,提前感谢您的评论。

通过浏览器得到的证书信息如下:
在此处输入图像描述 在此处输入图像描述

提前感谢您的帮助!,抱歉模糊,但有些数据是私人的,我无法显示。

更新
我在这个网站上发现我必须将云更改为橙色(代理),所以我做到了,但它不起作用。
在此处输入图像描述

最后,我用域“third-two.example.com”测试了相同的步骤,它可以解决 0 个问题(唯一要记住的是,在 APIM 中添加域后必须激活代理),有什么问题吗我需要做或更新到 CloudFlare 上的某个层以制作多级 ssl 证书?,在创建页面上,它说这里允许:
在此处输入图像描述

更新 - 2021-09-02

好的,对于仍然遇到此问题的每个人,如果没有边缘证书,就无法做到这一点(计划成本 10 美元)。

激活报价:

在仪表板中创建证书 要在仪表板中 创建新的高级证书:

  1. 登录您的 Cloudflare 帐户并选择一个域。
  2. 选择 SSL/TLS > Edge 证书。
  3. 选择订购高级证书。
  4. 如果 Cloudflare 没有您的账单信息,您将需要输入该信息。
  5. 输入以下信息:
  • 证书颁发机构
  • 证书主机名
  • 验证方法
  • 证书有效期
  1. 选择保存。

完成所有步骤后,您现在可以订购一个边缘证书,其中包含所需的所有主机,例如:主域、通配符域和三层子域:

  • 例子.com
  • *.example.com
  • 第三个.two.example.com

您一共可以添加 50 个主机名,因此如果您需要额外的主机名,您可以在此处添加,步骤如下:

  1. 登录您的 Cloudflare 帐户并选择一个域。
  2. 选择SSL/TLS > Edge 证书
  3. 选择订购高级证书
  4. 在证书主机名中,填写之前的所有域。

高级证书的创建 主动高级证书

通过此步骤和之前完成的所有步骤,您的 API 管理将识别域为安全域以及 SSL 证书,如下所示: 安全连接

最后,我知道这是在 Azure API 管理上使用 Azure Functions 的一个非常具体的主题,在 Cloudflare 中有一个自定义域,但也许它对某人有用,但它不是免费的,它每月 10 美元,所以如果你想使用三级域,但我认为这是最便宜和安全的方式。

我将关闭这个问题。

4

1 回答 1

0

我编辑了问题以添加来自 CloudFlare 论坛的答案,它有效,所以我想我会关闭这个问题。

于 2021-09-02T21:20:45.817 回答