Nginx部署SSL证书

SSL证书介绍
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
 
SSL认证原理

1.握手协议

握手协议是客户机和服务器用SSL连接通信时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。

2.记录协议

记录协议在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方和确定安全信息交换使用的算法后,进入SSL记录协议,记录协议向SSL连接提供两个服务:
(1)保密性:使用握手协议定义的秘密密钥实现
(2)完整性:握手协议定义了MAC,用于保证消息完整性

3.警报协议

客户机和服务器发现错误时,向对方发送一个警报消息。如果是致命错误,则算法立即关闭SSL连接,双方还会先删除相关的会话号,秘密和密钥。每个警报消息共2个字节,第1个字节表示错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。
 
SSL证书部署准备工作
1.下载证书
证书下载后解压缩会看见后缀 .key 和 .pem 的文件,把这两个文件上传到nginx服务器上,然后在conf文件下面创建cert文件夹,把证书拷贝到这个文件下面。
Nginx部署SSL证书插图
2.部署证书

./nginx -t 查看nginx安装路径,找到nginx.conf配置文件编辑

在server下面添加

server_name 你的域名地址;

listen 443 ssl;
ssl_certificate conf/cert/.pem;
ssl_certificate_key conf/cert/.key;

3.配置http自动跳转https

 新增一个server新增以下配置

listen 80;
server_name 你的域名;
rewrite ^(.*)$ https://$host$1;

4.加载nginx配置

./nginx -s reload

最后打开网页验证

 

文章来源于互联网:Nginx部署SSL证书

THE END
分享
二维码