目录

一、简介
HTTPS
是通过 SSL
证书 加密传输 的 HTTP 协议。可以通过 Nginx、Apache 等中间件进行接收和转发,这里我们主要介绍 Nginx 中间件的配置方式。
通过 Nginx 配置 HTTPS 协议,分为两步:
- 服务器需要先下载好 SSL 证书;
- 在 Nginx 配置好 SSL 证书的相关信息即可。
在了解清楚这些内容之后,我们就可以开始实战操作了。
二、SSL 证书类型介绍
HTTPS 协议的 SSL 证书根据 验证级别 可以分为三种:
DV(Domain Validation)
证书:这种证书仅需验证申请者的域名所有权,无需对网站的实际运行者或组织进行身份验证。它是 最基本 的整数类型,适用于个人、小型企业。OV(Organization Validation)
证书:这种证书在 DV 证书的基础上 增加了对申请者组织身份的验证。它 需要验证申请者的公司存在并且有效地拥有该域名,适用于中型企业。EV(Extended Validation)
证书:这种证书提供 最高级别 的验证,包括 对申请者的身份、组织和域名的全面审核。EV证书通常用于需要高安全性和信任度的网站,如银行和金融机构,适用于高要求企业。
除此之外,SSL 证书还可以分为 公网
、内网
两种:
- 公网证书: 要求必须公网可访问,并且需要通过例如在服务器创建一个指定文件,在公网的对应路径下要能正常访问。
- 内网证书: 不需要进行验证,可以直接使用。
本片文章我们主要介绍公网环境的 SSL 证书。
补充: HTTPS 的 SSL 证书 不仅仅只支持域名,还可以支持 IP 形式的 HTTPS 协议哟。
三、公网 SSL 证书
3.1 证书管理工具
上面介绍了证书的各种类型,本文我们主要展示如何下载并配置免费的 Let’s Encrypt
网站颁发的 DV证书
,网站地址如下:(证书有效期仅有三个月)
- Let’s Encrypt: https://letsencrypt.org/zh-cn/
这里我们只是展示一下官网的地址,实际的证书下载操作并不能直接去官网操作。我们可以选择多种 客户端工具 来与 Let’s Encrypt 进行交互,常见的有以下三种:
-
acme-tiny
:是一个由 Python 编写的证书申请脚本。 -
acme.sh
:是一个由 Shell 编写的证书申请脚本。 -
Certbot
:是一款比较齐全的证书管理工具。
这里我们主要使用 acme.sh
来进行证书管理,因为它比较轻量级,而且操作简单。
补充: 可能有小伙伴发现了,为什么前两个工具都命名为 acme,什么是
acme
?
ACME协议
是由 Let’s Encrypt 组织开发的一种 通信协议,主要 用于服务器和证书颁发机构(CA)之间的交互。它的主要目标是 简化SSL/TL