在Cloudlfare生成SSL证书之后,把证书和私钥保存下来,向阿里云函数计算平台部署。

写好配置文件后,使用阿里云的fun工具部署:

fun deploy

结果失败:

POST /custom-domains failed with 400. requestid: baexxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, message: 'private key' has to be in PEM format.

提示私钥必须为PEM格式。

可是Cloudflare提供的证书本来就是PEM格式的,而且我在本地也能正常使用。

这就奇怪了,又试了几次还是不行。在网络上也无法找到相关文档。

不过既然提示是私钥格式问题,那就看看PEM格式好了。

将Cloudflare生成的私钥与其他能在阿里云部署的私钥对比,发现Cloudflare私钥开头和结尾的标记有些不同。

Cloudflare的私钥开头和结尾标记为:

-----BEGIN PRIVATE KEY-----
...
...
...
-----END PRIVATE KEY-----

而能在阿里云部署的私钥开头和结尾标记为:

-----BEGIN RSA PRIVATE KEY-----
...
...
...
-----END RSA PRIVATE KEY-----

把Cloudflare私钥的开头和结尾标记添加RSA字样后,再试一次,成功!


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

标签: 阿里云, Cloudflare, SSL

仅有一条评论

  1. 匿名 匿名

    函数计算看起来好高级的样子。

添加新评论