爱意满满的作品展示区。
netlichun

因为受够了手动更新 IIS 证书,我花了半年时间做了一个自动托管平台,想听听大家的意见

  •  
  •   netlichun · 12h 41m ago · 925 views

    作为一个独立开发者,我平时会做一些小项目,其中主要是 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 ,目前才刚上线,还没有经过多少真实用户的检验。欢迎大家拍砖,尤其是对功能、安全性和收费模式有什么建议,我都很愿意听听。

    13 replies  •  2026-10-29 17:07:19 +08:00
    startfish
        1
    startfish  
       10h 40m ago   ❤️ 2
    至少学习下 CertifyTheWeb 有免费的额度,用户一多,站多了,习惯了可能就会产生付费
    a128445
        2
    a128445  
       10h 20m ago via Android
    可以试试 https://simple-acme.com/ ( win acme successor )
    hefish
        3
    hefish  
       9h 4m ago
    我用本站网友的 certd , 有免费额度。
    Timefly
        4
    Timefly  
       8h 46m ago
    我用的 caddy, 自带 https
    moyuge
        5
    moyuge  
       8h 42m ago
    certimate 全部有,支持的比你的全多了。卷工具没出路。
    lzzy1994
        6
    lzzy1994  
       8h 31m ago
    acme.sh 不好吗
    zgsi
        7
    zgsi  
       8h 28m ago
    但凡维护过的都应该知道 https://www.win-acme.com/ 吧
    PrinceofInj
        8
    PrinceofInj  
       7h 56m ago via Android
    我选择不更新证书,直接无视掉它的证书过期警告。
    klxyy
        9
    klxyy  
       7h 51m ago
    IIS 不是有自动更新证书的插件么,不需要手动更新啊
    imkudemo
        10
    imkudemo  
       7h 38m ago
    我也是用的 caddy, 自带认证。不需要费心
    wentx
        11
    wentx  
       7h 34m ago
    都是 caddy 基本不管
    netlichun
        12
    netlichun  
    OP
       2h 28m ago
    感谢各位的回复,也感谢大家推荐了这么多工具,看来证书自动化方面的成熟方案确实已经不少了,我也准备认真研究一下。

    我发现似乎大家都不太用 IIS 来部署网站了,可见微软这些年的落寞,真是对不起我们这些死忠粉。其实我开发这个 SSLThink ,主要是针对 Windows Server + IIS 环境的证书部署,优势在于统一的多服务器多站点集中式管理,不需要用户自己挨个服务器分别管理、部署证书管理平台,尤其面向需要维护多台 IIS 服务器,以及同时使用阿里云、腾讯云产品的场景。

    当然,对只管理一两个网站的同学来说,win-acme 、Caddy 等免费工具可能已经完全够用了。也想请教一下有多台 Windows Server 运维经验的朋友,现有方案用起来有没有什么不方便的地方?
    chaoming
        13
    chaoming  
       29 mins ago
    @klxyy 在哪里,没看到啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4694 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 09:36 · PVG 17:36 · LAX 02:36 · JFK 05:36
    ♥ Do have faith in what you're doing.