Expressway从12版本开始,更新了一个非常有用的功能ACME Automatic Certificate Signing,再也不用担心证书问题了,而且证书是免费的。
在说ACME之前,我们先了解下证书和Let's Encrypt
证书的作用是什么?
证书是为了实现TLS加密而使用,特别是公网环境,只有数据加密才能确认数据的安全性。
为什么要使用公有证书?
加密是基于双方的对证书信任进行,使用公有证书是为了不需要双方互导私有证书,如果使用私有证书,为了加密,你必须还要联系对方信任你的私有证书,直接增加了操作成本。
Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。
在12版本之前,也是可以使用Let's Encrypt的证书的,但是由于没有自动化,需要人工3个月一次的证书重签,直接投奔了那些收费证书的怀抱中。
首先看一下我们的环境,2台Expressway做了集群,注意一定要做集群,不然收到的ACME的信息不会转发给另一台。
然后网络要求,需要开放80端口,开放80端口需要向运营商进行备案才可以,这一步已经挡下了不少人。
另外Expressway自身的80端口是否打开对ACME没有影响
接下来我们需要了解自己需要那些SAN(Subject Alternative Name),针对这些SAN配置公网A记录。
其中@基本上客户是不会给你使用的,可以改成使用collab-edge一样能实现MRA功能。
以上准备做好以后,我们可以开始配置ACME了
移到Server certificate上
然后生成CSR
CSR里面主要DNS的SAN记录要和公网A记录保持一样
创建完CSR之后,我们就可以让Let's Encrypt下发证书了
大概10几秒后刷新页面,显示成功
成功后点击Deploy,顺便把Scheduler也打开,这样就可以自动续期证书
自此,一台EXPE的ACME功能部署完成,另一台EXPE也是同样的操作就可以了
以上为全部分享内容,谢谢!