阿里云函数计算自定义域名的SSL证书免费全自动申请及部署

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
简介: 阿里云函数计算简化了开发部署,让用户专注业务逻辑,降低了运维复杂性。然而,SSL证书支持需额外付费:免费证书有效期缩短至3个月,1年证书及自动化部署均收费。为节省成本,小微企业和个人开发者可以采用一套全自动、全免费的SSL证书申请、续签和部署方案。该方案包括自动向Let's Encrypt申请证书、使用阿里云OpenAPI更新证书以及在证书到期前提前申请。通过Win-Acme(Windows)实现,详细步骤包括设置win-acme、自动DNS验证和更新函数计算证书。

阿里云函数计算大大简化了开发部署的工作量, 用户只需聚焦于业务逻辑的开发,编写最重要的 “核心代码”; 不再需要关心服务器购买、负载均衡、自动伸缩等运维操作; 极大地降低了服务搭建的复杂性,有效提升开发和迭代的速度。

但是在使用过程中发现,对SSL证书的支持需要支付额外费用, 具体体现在

  1. 免费证书从原来的1年免费缩短到3个月, 极大增加了维护工作量。 所有1年有效期的证书都需要收费。
  2. 自动化的托管SSL部署需要额外收费。 否则只能手动部署,也太痛苦了。
    上面这笔费用虽然不多, 但对于小微企业/个人开发者来说也是一笔费用。因此设法实现了一套全自动, 全免费的SSL证书申请, 续证并部署到函数计算的方案。

基本思路

  1. 自动向Let's Encrypt申请ssl证书
  2. 用阿里云OpenAPI提供的updatecustomdomain,自动更新证书
  3. 证书到期之前自动申请新的ssl证书

系统环境

本人用的系统环境描述如下:

  1. 服务端,FastAPI, Python 3.10, Linux
  2. 开发者电脑, Windows 11, Win-Acme, Visual Studio, .NET Core

具体步骤

1. 自动向Let's Encrypt申请ssl证书

win-acme官网下载并安装win-acme

官网下载分推荐版本和全插件版本,如果下载的是推荐版本,里面不包括dns验证插件,为了实现自动dns验证, 还需要单独下载岸装自动验证插件,我的域名托管在阿里云所以用阿里云插件,插件在这里下载, 仅需下载针对aliyun的即可。 其他域名服务商下载对应的插件。下载后解压缩到win-acme的根目录。

工具都准备好之后,以管理员身份启动Windows Command, 进入win-acme安装目录, 并运行

.\wacs.exe

在上述命令后面加上--verbose, 显示详细信息, 加上--nocache, 可在同一天内重复申请同一个域名(调试时特别有用)

启动后第一个界面如下

image.png

这里选择M

image.png

选择2或者直接Enter

image.png

直接Enter选择默认

image.png

这里选择2

image.png

此处要注意选择6, [dns] Create verification records in ALiYun DNS

image.png

** 然后win-acme问你所使用的阿里云dns服务器名称, 这里是名称列表, 复制粘贴过来

image.png

这里是询问阿里云OpenAPI的accessKey和accessSecret. 点击阿里云右上角的登录头像,然后选择“AccessKey 管理”。 可以创建accesskey.

把accessKey和accessSecret复制粘贴过来,并根据提示保存到vault供以后使用。此处我在之前的操作中已经保存到了vault,所以直接使用了

image.png

Private Key类型, 直接选择默认

image.png

选择证书存储位置,我们把证书保存为PEM文件,故选择2, 并提供文件位置c:\ssl\WinAcme

image.png

输入证书密码,我选择不需要密码

image.png

证书保存后的后续步骤, 这里先选择3,等准备好证书部署程序后再修改。
最后, 如果该host已经有了renew任务,还会询问是否覆盖。 选y覆盖已有, 选n创建新的renew任务

image.png

最后,申请并下载证书成功, 在c:\ssl\WinAcme中可看到证书文件已经生成。

2. 用阿里云OpenAPI提供的updatecustomdomain接口,自动更新证书

接口文档在此处可以找到

预置条件

由于使用的是UpdateCustomDomain接口, 因此需要先配置好自定义域名, 但不需要启用Https证书,设置自定义域名比较简单,请自行查阅文档。不在此赘述。

使用OpenAPI调试工具,测试UpdateCustomDomain的调用结果。 调用成功后下载所擅长语言的sdk,直接获得可执行的脚本/程序。

但这样获得的脚本/程序只能做为测试用,放在生产环境还不行,因为Certificate和Private Key硬编码在代码中, 而最佳情况是从证书文件中直接读取。 此外还需要记录日志,方便以后排查。

因此我对C#版本的sdk程序做了以下改进

  1. 接收domain name做为输入参数
  2. appSettings中增加证书文件目录配置
  3. 用NLog记录日志
  4. 升级到了.net 6

修改后的代码下载地址: https://gitee.com/flyspirit99/update-ssl

运行命令,进行测试

UpdateSsl.exe yourhost.yourdomain.com

通过查看日志中记录的OpenAPI请求返回的HttpStatusCode, 以及阿里云中显示的证书名,可以确认请求是否成功, 成功的请求会更新文件名为{yourhost.yourdomain.com}-yyyyMMddhhmmss

至此,完成了读取证书文件并更新函数的证书。

3.证书到期之前自动申请新的ssl证书

在第一步中实现证书申请时,win-acme自动生成一个renew任务, 该任务每天重复运行,检查证书日期,如果临近过期则重新申请。

但是重新申请的证书只是存放在指定目录中, 现在需要把前两步的工作连接起来。申请证书之后自动调用UpdateSsl程序。

当被询问

Which installation step should run first?:

选择2, 运行一个程序,填入自己的可执行目录路径

image.png

参数填写证书域名: yourhost.yourdomain.com

这样,当申请证书成功之后,会自动调用UpdateSsl把证书更新到函数上。

注意: 要把程序的sppSettings.json和NLog.config复制到win-acme根目录,因为此时的工作路径是win-acme目录。

最后

用上述方法可以扩展到申请任何你名下域名的证书, 或者通配符证书,并部署到函数计算。

全面费,全自动,完美。

目录
相关文章
|
22天前
|
算法 安全 网络安全
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
2024阿里云11.11金秋云创季活动火热进行中,活动月期间(2024年11月01日至11月30日)通过折扣、叠加优惠券等多种方式,阿里云WoSign SSL证书实现优惠价格新低,DV SSL证书220元/年起,助力中小企业轻松实现HTTPS加密,保障数据传输安全。
566 3
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
|
28天前
|
算法 安全 数据建模
阿里云SSL证书限时优惠,WoSign DV证书220元/年起
2024年11月01日至11月30日,阿里云SSL证书限时优惠,部分证书产品新老同享75折起;阿里云用户通过完成个人或企业实名认证,还可领取不同额度的满减优惠券!通过优惠折扣、叠加满减优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起!
609 5
阿里云SSL证书限时优惠,WoSign DV证书220元/年起
|
2月前
|
负载均衡 算法 网络安全
阿里云WoSign SSL证书申请指南_沃通SSL技术文档
阿里云平台WoSign品牌SSL证书是由阿里云合作伙伴沃通CA提供,上线阿里云平台以来,成为阿里云平台热销的国产品牌证书产品,用户在阿里云平台https://www.aliyun.com/product/cas 可直接下单购买WoSign SSL证书,快捷部署到阿里云产品中。
2263 8
阿里云WoSign SSL证书申请指南_沃通SSL技术文档
|
26天前
|
算法 数据建模 网络安全
阿里云SSL证书2024双11优惠,WoSign DV证书220元/年起
2024阿里云11.11金秋云创季火热进行中,活动月期间(2024年11月01日至11月30日),阿里云SSL证书限时优惠,部分证书产品新老同享75折起;通过优惠折扣、叠加满减优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起。
585 5
|
25天前
|
网络协议 应用服务中间件 网络安全
2024阿里云免费版SSL证书申请流程,跟着教程一步步,非常简单!
2024年最新阿里云免费SSL证书申请流程,品牌为Digicert,每个阿里云账号可免费申请20张单域名证书,免费时长为3个月。申请流程包括登录数字证书管理服务控制台、创建证书、域名验证和下载证书。详情请参考阿里云官方页面。
305 2
|
2月前
|
数据建模 网络安全
阿里云申请SSL证书价格多少钱一年?免费版和付费版价格手动整理
阿里云SSL证书提供多种类型和品牌的证书选择,包括免费和付费选项。付费证书如WoSign单域名SSL证书238元/年,DigiCert通配符DV证书1500元/年,GlobalSign企业型1864元/年。免费证书由Digicert提供,有效期3个月,适用于单域名。更多详情见阿里云官网。
465 1
|
2月前
|
算法 小程序 网络安全
阿里云WoSign SSL证书,RSA和国密有什么区别?_沃通SSL技术文档
阿里云WoSign品牌SSL证书为用户提供国密合规SM2算法SSL证书、全球信任RSA算法SSL证书,全球信任、国密合规,能够满足阿里云平台用户不同的SSL证书应用需求。那么阿里云WoSign SSL证书分别提供的RSA算法和国密算法,有什么区别呢?
615 6
|
15天前
|
安全 网络安全 数据安全/隐私保护
单域名、多域名、通配符 SSL 证书,你选对了吗?
SSL证书是保护上网安全的重要工具,相当于网站的身份证,确保信息不被窃取。单域名证书保护一个网站,多域名证书可保护多个网站,通配符证书则保护主域名下的所有子域名。选择哪种证书取决于网站规模和需求
|
18天前
|
安全 数据建模 测试技术
只有ip没有域名怎么申请SSL
在没有域名只有IP地址的情况下,仍可申请SSL证书。需确保拥有固定公网IP地址和服务器管理权限,选择支持IP SSL证书的CA(如JoySSL),完成注册、购买、验证、安装和测试等步骤,实现HTTPS加密访问。注意证书有效期、兼容性和安全性。
|
1月前
|
算法 安全 数据建模
2024阿里云金秋云创季,WoSign SSL证书限时大促
2024阿里云金秋云创季正式拉开活动序幕,活动月期间(2024年11月01日至11月30日)通过折扣、叠加优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起,助力中小企业轻松实现HTTPS加密,保障数据传输安全。
766 0

相关产品

  • 函数计算