Nginx部署SSL证书的过程
作者:Biuget-Golang
简单介绍
Nginx是目前最新的高性能Web服务器,和传统的Apache服务器相比,特别在大量的客户并发连接下,性能要提高10倍以上。很多大型的PHP网站都采用了Nginx服务器。虽然Nginx采用是Linux2.6内核和epull架构的网络I/O模型,但在使用上和Apache还是比较相似,是Apache一个非常不错的替代产品,下面主要介绍一下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文件夹,把证书拷贝到这个文件下面。
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证书的文章就介绍到这了,更多相关nginx部署ssl证书内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!