因为产品
因为受够了手动更新 IIS 证书,我花了半年时间做了一个自动托管平台,想听听大家的意见
作为一个独立开发者,我平时会做一些小项目,其中主要是 Web 项目,也有时候会接点小活,帮客户做一些小网站。这些网站基本上都是使用阿里云或腾讯云的云服务器进行部署,因为现在的浏览器对于 SSL 证书的要求越来越严格,所以基本每个站点都要部署 SSL 证书,这在前几年也不是个事,因为阿里云和腾讯云都提供免费的一年期证书,每隔一年部署一次,也还能承受。 但是最近几年越来越吃力,阿里云和腾讯云的免费证书,都开始减少有效期,一开始从一年减到 6…
DT数据与运维DT研究与学习DTWeb 应用DTLinuxDTWebDTWindows
关于
作为一个独立开发者,我平时会做一些小项目,其中主要是 Web 项目,也有时候会接点小活,帮客户做一些小网站。这些网站基本上都是使用阿里云或腾讯云的云服务器进行部署,因为现在的浏览器对于 SSL 证书的要求越来越严格,所以基本每个站点都要部署 SSL 证书,这在前几年也不是个事,因为阿里云和腾讯云都提供免费的一年期证书,每隔一年部署一次,也还能承受。 但是最近几年越来越吃力,阿里云和腾讯云的免费证书,都开始减少有效期,一开始从一年减到 6 个月,还勉强凑合用,后来减到 3 个月,就感觉有点顾不过来了,因为虽然免费,但每个证书都要申请、下载、导入到证书管理、绑定到 IIS……站点多了,操作还是挺繁琐的。三个月就到期,经常会忘记更新证书,导致网站打开就是大大的风险提示,有时候还是客户发现了告诉我,我才知道。 虽然这两家都还提供一年期的证书,但是那价格,我确实有点难以承受。 后来我就开始研究证书这个事,才发现其实可以从第三方申请免费的证书,比如 Let's Encrypt ,我也了解到 win-acme 这类成熟的开源工具,它本身就能够实现 IIS 证书自动申请和续期。不过我个人更习惯图形化管理,而且有时候需要维护多台服务器上的多个网站,希望能通过一个 Web 工作台统一查看证书状态、集中管理部署目标,而不是分别登录每台服务器进行配置和维护。所以现有工具虽然不错,但还是没能完全满足我自己的使用习惯。 国内也找到了一些提供证书自动化服务的平台,不过我试用之后感觉,大部分还是更偏向 Linux 、Nginx 等环境,或者需要通过脚本进行部署,与我平时使用 Windows Server + IIS 的习惯不太一致。 就有了自己开发一个工具的想法,并且我研究了一下发现,这个技术条件还很现成,Let's Encrypt 提供了一个叫做 ACME 的协议,可以通过编程的方式自动申请证书,这不就正好可以发挥咱程序员的特长嘛,于是开始着手鼓捣这个东西。做的过程中,我又觉得这个东西可以搞成一个平台,比搞个单机版工具更有价值,因为单机版工具,还是需要远程到服务器上维护,搞一个平台,可以在浏览器上操作,并且把多台服务器集中到统一界面来管理。不但可以解决我的问题,我还可以把这个做成一个 Saas ,帮别人解决问题,同时自己也能有点小收益。 经过了小半年的产品设计以及开发,各种反复尝试与推倒重来,我终于把这个产品做出来了,这就是现在我要隆重推介给大家的:SSLThink - IIS 网站证书托管与自动化部署平台,鼓掌!!! 网址: https://www.sslthink.com 平台的主要功能,就是帮你申请 Let's Encrypt 证书,以及把证书部署到 IIS 网站。当然,平台干了这个活,也适当收点辛苦费。目前是公测期,每张证书的价格是 10 元/年,当然说「每张证书」不够严谨,这个价格其实是一年的证书订阅费用,在订阅期内,证书会自动更新。目前 Let's Encrypt 的证书有效期是 90 天,而且未来还会进一步缩短到 64 天、45 天。也就是说,证书更新会越来越频繁。不过对于 SSLThink 用户来说,这些更新由平台按照证书实际有效期自动处理,不需要手动重新申请和部署。 有同学就问了,Let's Encrypt 证书不是免费的嘛,你怎么还收费呢?其实收费的不是证书本身,而是 SSLThink 围绕证书搭建了一整套自动签发、自动更新、自动部署的全流程体系,如果你的网站用的是 IIS ,那么购买了这一年的证书订阅服务,进行初始的配置之后,往后你就不用操心证书这回事了,然后一年到期之后你再续订,那就继续不用操心,也不用重新配置。 具体怎么实现的呢?证书的签发与更新,是在 SSLThink 的服务端进行的,这个自然不在话下。在域名验证方面,SSLThink 采用的是 ACME 协议中的 DNS-01 验证方式。我把这部分也自动化了,用户只需要按照平台提供的记录,初始配置一次 CNAME 委托,之后证书签发和更新所需的 DNS 验证就由 SSLThink 自动处理,不需要每次更新时再去修改 DNS 记录。 关键是证书的部署,我开发了一个「托管节点程序」,把这个托管节点程序安装到 Windows 服务器,它会自动同步你的 IIS 站点和 https 绑定信息到 Web 工作台,然后在工作台对相应站点的 https 绑定与你购买的证书进行关联绑定,这个托管节点程序就会自动帮你把证书部署好,并且之后服务端的证书更新了,它也会自动更新 IIS 上对应的证书。 考虑到很多使用 IIS 部署网站的同学,除了网站,还有可能会使用一些云服务产品,比如 CDN 、阿里云的 OSS 等,这些云产品往往也有部署证书的需求,既然网站的证书都自动化了,没道理还要手动再搞这些云产品的部署,好在阿里云和腾讯云都提供了给云产品部署证书的接口,所以 SSLThink 的证书还可以自动部署到阿里云和腾讯云的一些云产品上,当然这个还是需要一些初始配置以及授权,具体的操作我都整理了详细的帮助文档,根据文档一步一步来就行,并不复杂。并且,如果你没有使用 IIS ,只是需要用 SSLThink 进行阿里云和腾讯云的云产品自动部署,那就无需安装 Windows 托管节点程序。 如果对于同时管理多台服务器,以及多个网站的同学,SSLThink 的价值体现就更大了,因为可以直接从 Web 工作台,就可以全局随时查看证书的更新和部署情况,如果哪个证书有问题,平台还会及时发送消息提醒。 当然,目前这个平台的自动部署功能主要围绕 Windows Server + IIS 环境设计,暂时不支持 Linux 、Nginx 或宝塔面板等环境的自动部署。不过通过平台签发的证书仍然可以下载,手动部署到其他支持的服务器环境。 另外提前说明一下:SSLThink 的托管节点是需要安装在 Windows Server 上的程序,目前安装包已经使用 Certum 企业代码签名证书完成数字签名,并且带有可信时间戳,签名发布者为济南善思信息科技有限公司。由于软件刚刚发布、下载量较少,如果使用微软的 Edge 浏览器下载,可能仍会遇到 SmartScreen 信誉提示。官网下载页面提供了 SHA-256 校验值,大家可以自行核对安装包的来源和数字签名。 由于程序需要操作 IIS 证书和 HTTPS Binding ,我知道大家可能会对安装第三方程序有顾虑。如果有关于权限、安全边界或运行机制的问题,也欢迎直接提出,我会尽量解释清楚。 最后也想听听各位同学们的真实意见:现在还有多少人在用 Windows Server + IIS 部署网站?大家平时是怎么解决 SSL 证书自动续期和部署问题的? 我知道 win-acme 等免费工具已经可以很好地解决不少场景,所以也挺想了解,对于需要管理多台服务器、多个网站的用户,像 SSLThink 这种集中托管的平台到底有没有价值。 这是我第一次认真把一个自用工具做成 SaaS ,目前才刚上线,还没有经过多少真实用户的检验。欢迎大家拍砖,尤其是对功能、安全性和收费模式有什么建议,我都很愿意听听。
收录记录
- V2EX·分享创造
2026年10月29日 · 1 次收录
讨论这个产品