背景

大概一到两年前,由于当时的SSL证书政策改革,我被安利 httpsok 这个证书续签工具,当时加了开发者微信并进入沟通群,很快就使用上了这个工具,我记得当时推广就是主打的免费自动续签证书,所以我才会使用这个工具。

最近几天频繁收到 httpsok 的通知,里面说我可用资源不足

我带着疑问去看了官网的规则,才发现是说我的通用证书的数量用完了,并且现在有了会员机制。

然后我看了一下规则被惊呆了,规则说每次申请和续签证书都消耗一次证书数量,那也就是说一个域名一年最少要开一个基础版的会员才可以维持一年。

开什么国际玩笑,一个证书续签一年要花几百?

于是我果断准备停止使用 httpsok 转而使用我前端时间才分享过的 nginx proxy manager

使用 nginx proxy manager

我前面有文章分享过 nginx proxy manager (简称NPM),这里就就不做介绍,直接开干。

1. 停掉 Nginx

由于 NPM 与 Nginx 的端口冲突,所以启动 NPM 容器之前要停掉本地 Nginx,执行下面命令:

/usr/sbin/nginx -s stop

2. 网络策略开通

由于 NPM 的管理访问端口是 81 端口,所以提前去云服务器开通 81 端口,以便后续用公网访问 NPM 控制台。

3. 部署 NPM

直接容器化运行就行,具体的部署方式不过多说明。

部署之后可以使用公网IP+81端口访问控制台即可,如果不行,多半是网络策略问题。

4. 给网站配置反向代理

先添加一个代理配置指向宿主机的服务,这里要特别注意从容器访问宿主机IP使用 172.17.0.1,具体原因可以自行查询:

5. 给网站添加 SSL 配置

在反向代理中继续设置 SSL 配置,添加证书,按照要求填写内容即可:

申请完证书后

6. 给网站配置 Advanced

根据网站需要,可以配置一些高级设置,比如我的网站需要进行一些规则转发,我就配置了:

7. 访问网站验证

配制就这么多,配置之后访问域名就OK,多简单!

停用 httpsok

1. 停掉本地 Nginx 服务

上面的配置只是临时停了 Nginx,可以彻底停掉 Nginx 服务:

systemctl stop nginx
systemctl disable nginx
systemctl status nginx

2. 停掉 httpsok 的定时任务

执行 crontab -l 可以看到 httpsok 创建的定时任务,这玩意就是靠这个定时任务的脚本来更换证书的,直接就是一个注释或删除

34 10 * * * '/root/.httpsok/httpsok.sh' -m -r >> '/root/.httpsok/httpsok.log' 2>&1

当然,别忘了登录 httpsok 官网去删掉自己的数据,退群,取消微信公众号关注。

总结

说实话,我真的被 httpsok 这个背刺操作恶心到了,并且突然意识到了一个问题,对于非开源的软件,可能就是这么玩的:

  1. 推广期:免费使用,宣传的跟开源软件一样,完全不会告诉你目前的一些免费功能后续会变成付费使用
  2. 收割期:免费功能限制,转而提供付费服务,更要命的是可能把前期号称免费的功能变成付费而不是扩展功能付费

其实我倒是不介意软件按照这个模式运作,反而觉得这个是很常规的商业模式,但是这次的确是被背刺,因为在我接触这个软件的时候就知道证书续签本身并不存在什么费用消耗,所以认为这个功能肯定是一直免费的,没想到现在居然直接就变成付费服务了。

经过这个事情,我对以后接触到的国产处于“推广期”的软件会提高警惕,特别是一些有开源代理方案的,还是应该选择开源。