简介
本文介绍在Nginx
服务器配置SSL
证书,配置成功后即可通过HTTPS
加密通道安全访问Nginx
服务器
环境
Nginx
+ 阿里云SSL证书
下载证书
此处以阿里云证书为例
- 登录控制台 -> 数字证书管理服务
- 选择SSL证书
- 在列表中找到要下载的证书,操作列单机下载
- 选择Nginx服务器类型下载
解压证书
解压证书后会有两份文件
- 证书文件(PEM格式):Nginx支持安装PEM格式的文件,PEM格式的证书文件是采用Base64编码的文本文件,且包含完整证书链。解压后,该文件以证书ID_证书绑定域名命名。
- 私钥文件(KEY格式):默认以证书绑定域名命名。
安装证书
- 在服务器上
mkdir
创建一个文件夹 - 将证书文件、私钥文件上传至该文件夹
- 编辑
Nginx
配置文件nginx.conf
vim nginx.conf
- 添加
443
的server
配置
server {
#HTTPS的默认访问端口443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
listen 443 ssl;
#填写证书绑定的域名
server_name <yourdomain>;
#填写证书文件绝对路径
ssl_certificate ca/<cert-file-name>.pem;
#填写证书私钥文件绝对路径
ssl_certificate_key ca/<cert-file-name>.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#表示优先使用服务端加密套件。默认开启
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
此处文件夹为ca,可创建自己的文件夹
注意需开通服务器443端口
重载配置
在Nginx sbin目录下重载Nginx配置
./nginx -s reload
验证
浏览器访问你的域名,查看是否为安全链接
https://yourdomain
有一定的延时性,可等待几分钟再进行验证
SSL证书简介
SSL
(Secure Sockets Layer
)证书是一种数字证书,用于在互联网上提供安全的通信。后来的版本被称为TLS
(Transport Layer Security
),但人们仍然经常使用SSL
这个词来指代这种技术。
SSL证书
的主要意义在于确保网站和用户之间的数据传输是加密的、私密的,并且可以验证网站的身份。
SSL证书
的一些主要作用:
- 数据加密:
SSL证书
通过加密数据来保护用户的隐私,确保敏感信息(如密码、信用卡号等)在传输过程中不会被第三方截取或窃听。 - 身份验证:
证书颁发机构(Certificate Authority, CA
)会验证申请证书的组织身份。这使得用户可以信任他们正在与预期的实体进行通信。 - 信任和信誉:
网站拥有SSL证书
可以增加用户的信任度,特别是对于电子商务网站来说,这是非常重要的。浏览器通常会在地址栏显示一个挂锁图标来表明站点是安全的。 - 搜索引擎优化:
拥有有效的SSL证书
可能会对搜索引擎排名产生积极影响。例如,Google已经明确表示HTTPS是一个排名因素。 - 防止中间人攻击:
SSL证书
可以帮助防止中间人攻击,确保数据从发送者到接收者的整个过程都是安全的。 - 完整性验证:
SSL
不仅加密数据,还能确保数据在传输过程中没有被篡改。
SSL证书
对于维护网络安全至关重要,尤其是在处理敏感信息时。它为用户提供了安全保证,同时也帮助网站建立良好的在线声誉。
SSL证书免费申请
结束