如何快速添加SSL证书确保网站全站HTTPS
我给大家解释一个自己经常使用的方式,对技术小白非常友好,全程操作非常简单。
使用Cloudflare快速添加SSL证书
- 将自己注册的域名转移到CloudFlare,这个很简单,我就不细说了,最终的操作就是根据CloudFlare的提示将其提供的NS地址复制到你当前域名注册商的NS即可。

类似上述的NS地址复制到你的域名注册商,替换原有域名注册商的NS地址,然后就是等待生效。
- 上述步骤完成之后相信你的域名已经被CloudFlare接管了,然后配置DNS记录,一般情况下CloudFlare会自动同步原来的DNS记录,如果已经同步,此处就不需要操作,如果同步了,有错误,或者需要更改,那么此处就需要修改一下。

- 配置被接管域名的SSL证书,这里需要说明一下,在此处操作的前提是你已经拥有了自己的域名,并且你已经在自己的VPS中搭建好了自己的网站,然后按照上述两个步骤正确配置域名解析。
Tips:在自己VPS中搭建好自己的WordPress网站,注意这里搭建WordPress网站我默认是快速搭建完成,不配置SSL证书,使其正常使用HTTP就能够访问即可(这么做的原因也就是我说的对技术小白来说不用操心SSL证书的事情,只需要在CloudFlare中正确操作,让CloudFlare帮你解决SSL证书相关问题。)
- 在CloudFlare中正确配置SSL证书,具体操作看如下图所示:

当你看到上述设置,我想你就明白了为什么上述自己搭建的VPS不要配置SSL证书,而是使用HTTP保证正常访问就可以,至于具体解释上图我已经标记了,CloudFlare已经解释的很清楚。
另外再提一下,如果你想使用上图中CloudFlare(完全和完全(严格))两种模式,那么你需要做的就是上面提到在自己的VPS中搭建网站的时候配置好自己的SSL证书,只要确保,你当前VPS搭建的网站能够HTTPS正常访问,那么上图提到的两种模式就可以使用了。
- 使用CloudFlare提供的SSL证书的好处是非常的稳定,且免费使用,原因如下:

虚拟主机添加SSL证书 上面我也说过,对于虚拟主机添加SSL证书,我印象中是非常简单的,直白的点说是虚拟主机服务提供商已经都给你做好了,你只需要按照她们提供的功能界面操作即可添加SSL证书。
具体如何添加执行操作,每个虚拟主机服务提供商的操作方式都大同小异,在这里我推荐几个常用服务提供商官方文档作为参考。
SSL证书的概述及历史由来
什么是SSL证书
SSL 的英文全称为 Secure Sockets Layer,中文全称为安全套接字层,是一种对网站访问者的浏览器和网站服务器之间的数据进行加密的方法。安装了 SSL 证书就说明你的网站使用的是 HTTPS 协议。
再专业点的解释就是SSL证书是一种数字证书,用于在互联网上建立安全的加密连接。SSL证书通过验证网站的身份,确保数据在用户浏览器和网站服务器之间传输时的安全性。它包含网站的公钥、所有者信息以及由可信的第三方证书颁发机构(CA)签发的数字签名。
说到SSL证书就不得不提到TLS,TLS的关系非常密切。
什么是TLS证书
TLS的英文全称 Transport Layer Security 是SSL的继任者,是一种更安全的加密协议。TLS在SSL 3.0的基础上进行了改进,提供了更强的加密算法和更好的安全性。人们通常仍将这一类技术统称为SSL/TLS。
直白的理解为SSL和TLS描述的场景都是同一个东西,其实可以理解为SSL就是TLS,区别是在于TLS是SSL的升级版本。
SSL和TLS的历史由来
1. SSL的诞生:
- 1994年:SSL由Netscape公司开发,最初版本为SSL 1.0,但未公开发布。
- 1995年:SSL 2.0发布,这是第一个公开发布的版本,但很快因其安全性问题被弃用。
- 1996年:SSL 3.0发布,对2.0版本进行了重大改进,奠定了现代SSL/TLS协议的基础。
2. TLS的发展:
- 1999年:IETF(Internet Engineering Task Force)在SSL 3.0的基础上开发了TLS 1.0。
- 2006年:TLS 1.1发布,对1.0版本进行了一些安全性改进。
- 2008年:TLS 1.2发布,引入了更强大的加密算法,增强了安全性。
- 2018年:TLS 1.3发布,进一步简化了握手过程,提高了性能和安全性。
为什么要安装SSL证书?
首先,安装SSL证书对各类网站来说在安全性方面提供了一种重要的安全标识,随着时代的发展至今,现在的网站几乎都是全站HTTPS,这也将是未来做网站的一个必要条件。SSL证书可以给网站提供身份验证和保护,保护网站的隐私和敏感信息被人窃取,包括密码和信用卡等重要信息。
其次,再来说谷歌搜索结果也会偏爱安装了 SSL 证书的网站。
现在很早之前Google就推出了一个 Chrome 的更新, 当访问者访问任何没有 SSL 证书的网站,就会有”不安全“的提示出现在浏览器的左上角。这个规则适用于所有的网站。如果你的网站被标记为“不安全”,会严重降低访问者对你网站的信任度,会有很大可能性将不愿意停留在你的网站并参与互动。
相反,安装了 SSL 证书的网站会在浏览器地址栏的前端显示“锁”型安全标志并且在地址栏以“https”开头。所以,安装 SSL 证书后也会对你的网站在搜索引擎中的排名产生积极影响。
SSL证书的分类
SSL证书分类一般分为3种,分别是:
- 扩展验证型(EV)SSL证书
- 扩展验证型(EV)SSL证书 提供了最高级别的验证。颁发机构会对申请者的法律实体身份进行严格的审查,包括但不限于公司注册信息、法律状态、物理地址等。EV证书的目的是确保用户访问的是一个合法且受信任的实体。在大多数浏览器中,使用EV证书的网站地址栏会显示为绿色,并展示公司名称,从而增强用户的信任感。
- 此类证书主要适用于金融和电子商务等平台。
- 组织验证型(OV)SSL证书
- 组织验证型(OV)SSL证书 提供了中等级别的验证。颁发机构会对申请者的组织信息进行验证,确认其合法性和存在性。与EV证书相比,OV证书的验证过程较为简化,但仍能提供足够的安全性和信任度。使用OV证书的网站在地址栏中不会显示绿色,但用户可以通过证书详细信息查看组织的相关信息。
- 主要适用于一些中,小大型企业的官方网站等平台。
- 域名验证型(DV)SSL证书
- 域名验证型(DV)SSL证书 提供了最低级别的验证。颁发机构仅验证申请者对域名的控制权,而不对组织信息进行深入审查。DV证书的申请和颁发过程通常非常快速,适用于个人网站或小型企业,但对于需要展示高度信任的网站来说,其验证级别可能不够。
- 适用于个人博客等小型网站,目的只要保证网站传输过程中提供了基本的加密保护即可。
如何申请SSL证书
目前申请SSL证书的方式技巧很多,但是总体方向就那么几种,基于使用WordPress的场景下申请SSL证书分为以下几种:
- 虚拟主机的方式申请证书,此类方式平台都给你做好了,上面也提到了操作方式,在这就不赘述了。
- 购买的VPS,使用VPS所属服务提供商提供的申请方式进行申请证书。
- 购买的VPS,完全自主使用公开自动化申请证书方式进行申请SSL证书。
关于如何申请SSL证书,我先说说自己实际使用过程中推荐的做法,仅供大家参考:
- 如果你是技术小白,我非常推荐你直接使用上面开头提到的CloudFlare的方式去操作,当然为了更方便,可直接购买大牌服务提供商的虚拟主机服务。
- 如果你喜欢折腾,并且懂点技术,那么你可以自己购买VPS,然后自己搭建WordPress,再使用公开的自动化申请证书的方式来操作。
- 如果你懂些技术又想偷懒,那么你可以选择自己购买VPS,然后使用VPS所属服务提供商提供的证书申请方式来操作。
VPS搭建的网站申请SSL证书
通过服务提供商内置功能申请SSL证书
关于这方面操作每个服务提供商操作都差不多相同的,只是操作方式和功能位置不一样,其他操作都很简单,我举一个很出名的VPS服务提供商的官方文档作为例子,大家看一张图就明白了。

使用ACME自动化申请SSL证书
ACME是”Automatic Certificate Management Environment”(自动证书管理环境)的缩写。ACME是一种用于自动化管理和获取SSL/TLS证书的协议。ACME协议由Internet工程任务组(IETF)定义,并由Let’s Encrypt等证颁发机构广泛采用。
ACME提供了一种标准化的方式,使能够自动请求、验证和获取证书,而无需人工干预。完成标准化获取证书流程需要ACME客户端与ACME服务器端进行通信。
ACME的GitHub地址:
- https://github.com/acmesh-official/acme.sh
对应的GitHub中文文档:
- https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E
安装acme.sh
执行的用户权限可以是root也可以是普通用户
curl https://get.acme.sh | sh -s email=root@fenotion.com
或者
wget -O - https://get.acme.sh | sh -s email=root@fenotion.com
如果国内网络慢可以搞下来执行
git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install -m email=root@fenotion.com
上述操作完成之后,acem.sh会做以下几件事情
1. 在当前用户的家目录创建.acme.sh ,类似:~/.acme.sh/
2. 创建别名:acme.sh=~/.acme.sh/acme.sh
3. 创建计划任务:
0 0 * * * "/home/fenotion/.acme.sh"/acme.sh --cron --home "/home/fenotion/.acme.sh" > /dev/null
上述都执行完成之后,因为设置了别名,要让其生效,所以建议你退出当前终端,重新打开终端执行下面命令测试验证是否安装成功
root@fenotion:~# acme.sh -h
或者执行
root@fenotion:~# acme.sh -v
生成证书
单域名申请SSL证书方式:
acme.sh --issue -d fenotion.com -w /home/fenotion.com/public_html
同一个证书申请多域名方式:
acme.sh --issue -d fenotion.com -d www.fenotion.com -w /home/fenotion.com/public_html
安装Apache证书
acme.sh --install-cert -d fenotion.com \
--cert-file /etc/pki/tls/certs/apache/fenotion.com.pem \
--key-file /etc/pki/tls/privates/apache/fenotion.com.key \
--fullchain-file /etc/pki/tls/certs/apache/fullchain.fenotion.com.pem \
--reloadcmd "systemctl restart apache2"
上述操作的前提是已经搭建好了一个WordPress网站,并且DNS的A记录已经正确的指向当前申请的域名,然后可以正常的使用http访问网站。
使用Certbot自动化申请SSL证书
Certbot 是一个由 EFF(电子前哨基金会)开发的免费、开源的工具,用于自动化申请和部署 Let’s Encrypt 颁发的 SSL 证书。Let’s Encrypt 是一个免费的证书颁发机构,提供免费的 SSL/TLS 证书。以下是使用 Certbot 申请 SSL 证书的官方步骤:
- https://certbot.eff.org/instructions?ws=apache&os=debianbuster
- https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal
- https://certbot.eff.org/instructions?ws=apache&os=centosrhel7
CentOS环境下自动化申请SSL证书
虽然CentOS7目前已经停止维护了,但是依然有很多衍生版本兼容类似CentOS操作系统的环境,例如:AlmaLinux,Oracle Linux,RockyLinux等。
在开始之前我们先看看官方文档提供的安装Certbot需要什么前提条件:

大家看到没,前提条件是需要你在VPS中安装snapd,然后需要确保在安装Certbot之前当前操作系统是干净的,没有其他certbot相关的软件包,所以安装Certbot的步骤如下:
yum install snapd
或者
dnf install snapd
启动服务
systemctl enable --now snapd.socket
做软连接
ln -s /var/lib/snapd/snap /snap
确认之前没有安装certbot
dnf remove certbot
或者
yum remove certbot
安装certbot
snap install --classic certbot
创建certbot的软连接
ln -s /snap/bin/certbot /usr/bin/certbot
生成证书,并自动编辑apache配置文件,使生成的证书生效
certbot --apache
上述执行会进入一个交互式过程,按照提示填写执行操作即可。
仅或者证书,然后需要自己手动配置apache证书
certbot certonly --apache
上述执行会进入一个交互式过程,按照提示填写执行操作即可。
除了上述操作,还可以如下操作:
certbot certonly --manual --preferred-challenges dns
上述命令执行完成之后,同样会是一个交互的过程,具体如下:
1. 输入电子邮箱
2. 输入域名,域名之间要空格,比如:fenotion.com www.fenotion.com
3. 上述完成之后它会给出txt的DNS解析记录值,然后让你在DNS域名注册商处添加该记录,执行添加该记录之后,等待其生效,再继续下一步。
4. 当上述DNS生效并完成验证之后,就会生成对应的证书文件了,注意如果期间连续解析失败超过5次,那么你要等5个小时之后再重新开始申请SSL证书。
测试验证自动续签证书的功能
certbot renew --dry-run
上述操作的前提依旧是已经搭建好了一个WordPress网站,并且DNS的A记录已经正确的指向当前申请的域名,然后可以正常的使用http访问网站。
第三方管理面板申请SSL证书
关于第三方服务器或者说VPS管理面板就市面就有很多种了,其中有收费的有免费的,我这里就推荐两种大家非常熟悉的管理面板供大家使用。
至于这些面板如何使用,如何搭建,以及如何申请SSL证书大家可以参考这些面板的官方文档就可以,不过我在这里告诉大家一个小坑,就是在使用这些面板的申请SSL证书的时候,最好该面板所在VPS前面不再有防火墙,CDN这类的设备,否则申请SSL证书可能就会有问题。
常用的两个管理面板如下:
- 国际版宝塔面板:https://www.aapanel.com/
- 1Panel面板:https://1panel.cn/
使用第三方插件申请SSL证书
因为我编写文章目标受众都是跟WordPress相关,所以插件部分自然都是WordPress相关的插件内容,具体推荐的插件如下:
- WP Force SSL
- Really Simple SSL
- Flexible SSL for CloudFlare
- Auto-Install Free SSL
- WP Encryption SSL HTTPS
- SSL Zen
插件的使用方式都很简单,大家安装之后按照官方文档提示操作就可以。
总结
关于SSL证书的申请,我个人认为,还是推荐那种对技术小白友好且免费的平台去操作即可,我强烈推荐使用CloudFlare平台来实现证书的申请,不推荐使用第三方服务器管理面板和插件的方式申请,因为这些操作都是在自身服务器环境,一旦有什么问题,你不能立刻解决,或者要花一些时间解决,这些都是不值得的,总之专业的人干专业的事情,把各自的时间花在最需要的地方。