简单介绍
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
最后打开网页验证
暂无评论内容