之前一直用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证书的操作还是很简单的,这里

官网也给出了其它的方法

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

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

一般来说查看主板型号大致只要知道平台型号例如Z270,B150,B85等等就可以了,少数想知道自己的主板品牌和具体型号,例如华硕B150M-A/M.2这种,直接用相关软件查看也可以,但是实际上往往也不尽如人意,手头的电脑并没有这种软件,为此下载个软件又太麻烦。

这时候只需要一条命令就可解决

wmic baseboard get product,Manufacturer,version,serialnumber

最近联通把常见的端口都封了,443端口也不例外,而之前一直使用Nginx监听443端口反向代理路由器和esxi的Web服务,这次443端口被封只能换端口了

然而更改端口后,发现不能登录,输入用户名和密码后点击登录,一直跳转回登陆页面,貌似后端返回的信息不正常,查看日志,发现nginx转发过程中端口丢失

解决方法:

location下添加

proxy_set_header Host $host:$server_port;