APIM 消费层、自定义域、Cloudflare 和第三级子域
APIM Consumption Tier, Custom Domain, Cloudflare & third level subdomain
我正在使用消费层中的 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 时:
我也收到以下错误:
如果我做错了什么或者配置有误,你可以告诉我,我对数字证书的知识真的不多,所以我不知道是否应该做一些额外的事情或者我的配置我使用的不正确,提前感谢您的意见。
通过浏览器获取的证书信息如下:
提前感谢您的帮助!抱歉,有些数据是私人的,我无法显示。
更新
I found on this site 我必须将云更改为橙色(代理)所以我做到了但它不起作用。
最后,我用域“third-two.example.com”测试了相同的步骤,它可以解决 0 个问题(唯一要记住的是,在 APIM),我需要做些什么或更新到 CloudFlare 上的某个层以制作多级 ssl 证书吗?在创建页面上,它说这里是允许的:
更新 - 2021-09-02
好的,对于仍然有此问题的每个人,没有边缘证书就无法做到这一点(该计划费用为 10 美元)。
激活报价:
Create a certificate in the dashboard
To create a new advanced certificate in the dashboard:
- Log into your Cloudflare account and select a domain.
- Select SSL/TLS > Edge Certificates.
- Select Order Advanced Certificate.
- If Cloudflare does not have your billing information, you will need to enter that information.
- Enter the following information:
- Certificate Authority
- Certificate Hostnames
- Validation method
- Certificate Validity Period
- Select Save.
完成所有步骤后,您现在可以订购一个 edge certificate,其中包含所有需要的主机,例如:主域、通配符域和三级子域:
- example.com
- *.example.com
- third.two.example.com
您总共可以添加50个主机名,所以如果您需要额外的主机名可以在这里添加,步骤如下:
- 登录您的 Cloudflare 帐户和 select 域。
- Select SSL/TLS > 边缘证书.
- Select 订购高级证书.
- 在证书主机名中,填写之前的所有域。
完成此步骤和之前的所有步骤后,您的 API 管理将识别安全域以及 SSL 证书,如下所示:
最后,我知道这是一个非常具体的主题,在 Azure API Management 上使用 Azure Functions,在 Cloudflare 中有一个自定义域,但它可能对某些人有用,但它不是免费的,10 美元每月,所以如果你想使用三级域名,但我认为这是最便宜和安全的方式。
我会关闭这个问题。
我编辑了问题以添加 the answer from the CloudFlare forum,它起作用了,所以我想我会关闭这个问题。
我正在使用消费层中的 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 时:
我也收到以下错误:
如果我做错了什么或者配置有误,你可以告诉我,我对数字证书的知识真的不多,所以我不知道是否应该做一些额外的事情或者我的配置我使用的不正确,提前感谢您的意见。
通过浏览器获取的证书信息如下:
提前感谢您的帮助!抱歉,有些数据是私人的,我无法显示。
更新
I found on this site 我必须将云更改为橙色(代理)所以我做到了但它不起作用。
最后,我用域“third-two.example.com”测试了相同的步骤,它可以解决 0 个问题(唯一要记住的是,在 APIM),我需要做些什么或更新到 CloudFlare 上的某个层以制作多级 ssl 证书吗?在创建页面上,它说这里是允许的:
更新 - 2021-09-02
好的,对于仍然有此问题的每个人,没有边缘证书就无法做到这一点(该计划费用为 10 美元)。
激活报价:
Create a certificate in the dashboard To create a new advanced certificate in the dashboard:
- Log into your Cloudflare account and select a domain.
- Select SSL/TLS > Edge Certificates.
- Select Order Advanced Certificate.
- If Cloudflare does not have your billing information, you will need to enter that information.
- Enter the following information:
- Certificate Authority
- Certificate Hostnames
- Validation method
- Certificate Validity Period
- Select Save.
完成所有步骤后,您现在可以订购一个 edge certificate,其中包含所有需要的主机,例如:主域、通配符域和三级子域:
- example.com
- *.example.com
- third.two.example.com
您总共可以添加50个主机名,所以如果您需要额外的主机名可以在这里添加,步骤如下:
- 登录您的 Cloudflare 帐户和 select 域。
- Select SSL/TLS > 边缘证书.
- Select 订购高级证书.
- 在证书主机名中,填写之前的所有域。
完成此步骤和之前的所有步骤后,您的 API 管理将识别安全域以及 SSL 证书,如下所示:
最后,我知道这是一个非常具体的主题,在 Azure API Management 上使用 Azure Functions,在 Cloudflare 中有一个自定义域,但它可能对某些人有用,但它不是免费的,10 美元每月,所以如果你想使用三级域名,但我认为这是最便宜和安全的方式。
我会关闭这个问题。
我编辑了问题以添加 the answer from the CloudFlare forum,它起作用了,所以我想我会关闭这个问题。