ESXi替换SSL证书

之前一直用Nginx监听443端口反向代理路由器和ESXi的web服务,然而联通把443端口封了,只能把web端口换掉。

之所以使用Nginx,是因为路由器想要代理多个Web服务,另一方面也是使用同一个SSL证书方便统一管理,使用443端口也是为了方便。

虽然如此,由于Nginx的反向代理,ESXi Web端调用本地程序是却存在着转发请求的一个BUG,原因不明

如今既然443端口被封,直接使用端口转发就可以了,一方面使得整个网络结构更简单,当然也就避免了之前由于反向代理造成的BUG。

 

剩下的就是更换SSL证书的问题了

因为目前使用的是Let’s Encrypt签发证书,需要一个定时执行的自动化脚本来完成自动签发,问题就出在这上面。

完成这样一个操作必须满足两点

1、可执行环境

2、定时任务

然而ESXi上面却行不通,ESXi是精简版的Linux,命令不全,缺少依赖,甚至到了ESXi6.0,连crontab服务都省了,所以在ESXi上面自动执行Let’s Encrypt的签发脚本存在问题,行不通的

为什么之前在路由器上就可行?因为路由器刷的是梅林固件并挂载了Enware-ng,梅林固件本身支持定时任务

当然也可以在路由器上定时签发,然后远程SSH登录ESXi替换证书,完成这样的自动化脚本。然而存在的问题是:使SSL证书生效要么重启ESXi,要么置于维护模式,两者都需要要关闭上层的虚拟机,不可行

所以就毙掉了使用 Let’s Encrypt 证书的可能性

必须选择其他一劳永逸的方案了。

 

本着能不花钱就不花钱的原则。。。

最终的方案为:申请阿里云的Symantec 免费版 SSL 证书,然后拿着这证书去换取 Namecheap 的免费Comodo SSL证书资格。

呵呵呵。。奸诈如我。。。

当然具体的替换SSL证书的操作还是很简单的,这里

官网也给出了其它的方法

至于具体方法,百度一大把,不再造轮子。

最终的效果,当然是很满意

发表评论

电子邮件地址不会被公开。 必填项已用*标注