SSL 原理及 https 配置
SSL 原理
SSL 简介
SSL (Secure Socket Layer), 中文名称 安全套接字.
SSL 的出现, 主要是为了解决Web浏览器和Web服务器之间的安全传输问题.
主要概念
SSL 中主要有如下几个概念:
- 传输加密: 所有消息加密后传输
- 身份验证: 客户端验证可选, 服务端验证强制
- 传输完整性: 传输的消息的完整性检查 (使用 MAC)
建立安全连接的过程
过程图:

步骤说明:
- client 发送 clientHello 信息给 server
- server 识别之后发送 serverHello 给 client, 这个过程建立安全能力, 包括协议版本, sessionID, 加密算法, 压缩方法, 随机数.
- 此时 SSL 握手的第一阶段完成
- server 会向 client 发送server的证书 (证书中有 server 端的公钥)
- server 向 client 发送密钥交换信息. 同时还会请求 client 端的证书.
- server 发送 Hellodone 信息, 表示 server 端的请求结束.
- 此时 SSL 握手的第二阶段完成
- client 发送client证书 (client没有证书的话, 可以回复 server 无证书)
- client 生成一个对称密码, 并发送给 server (这里的信息用收到的 server 端公钥来加密)
- 如果 client 发送了client证书, 那么还会发送证书验证信息
- 此时 SSL 握手的第三阶段完成
- client 通知 server 以后通信用之前发送的对称密码加密, 并结束握手
- server 通知 client 以后通信用之前发送的对称密码加密, 并结束握手
https 配置 (以 nginx 为例)
centos6.6 x86_64 上实验
生成证书
cd /etc/nginx
openssl genrsa -des3 -out server.key 1024 # 设置证书密码
openssl req -new -key server.key -out server.csr # 根据提示输入各种信息
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
设置 https 的证书
cat /etc/nginx/ssl.conf
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost; ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
重启 nginx
nginx -s reload
从浏览器中可以查看是否配置成功 (https://hostip/)
SSL 原理及 https 配置的更多相关文章
- 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...
- SSL证书与Https应用部署小结
为了提高网站的安全性,一般会在比较敏感的部分页面采用https传输,比如注册.登录.控制台等.像Gmail.网银等全部采用https传输. https/ssl 主要起到两个作用:网站认证.内容加密传输 ...
- https原理及tomcat配置https方法
一. 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不 ...
- (HTTPS)-https原理及tomcat配置https方法
一. 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传 输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常 ...
- Nginx负载均衡、SSL原理、生成SSL密钥对、Nginx配置SSL
6月12日任务 12.17 Nginx负载均衡12.18 ssl原理12.19 生成ssl密钥对12.20 Nginx配置ssl扩展 针对请求的uri来代理 http://ask.apelearn.c ...
- Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl
一.Nginx负载均衡 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; 同一个用户始终保持 ...
- Linux下Nginx配置阿里云 SSL证书实现HTTPS访问
这篇文章主要介绍了nginx配置ssl证书实现https访问的示例 1.服务器系统:Centos 2. 阿里云申请SSL证书 选择“免费版DV SSL”,点击立即购买: 下载证书 列表中找到已签发的证 ...
- nginx配置ssl证书实现https访问
一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...
- nginx普通配置/负载均衡配置/ssl/https配置
1.nginx普通配置 server { listen ; server_name jqlin.lynch.com; access_log /var/log/nginx/main.log main; ...
随机推荐
- meterpreter持久后门
meterpreter持久后门 背景:meterpreter好是好,但有个大问题,只要目标和本机连接断开一次后就再也连不上了,需要再次用exploit打才行!!! 解决方案:在与目标设备的meterp ...
- 从零开始学安全(六)●黑客常用的Dos命令
cd 文件路径 要切换的路径cd \ 直接回根目录dir ...
- VM虚拟机Linux和主机数据传输
虚拟机 Linux CentOS7 vm和主机通信是利用 vm tools 点击安装 点击后系统内有一个 打开 把 拖到桌面 打开终端 cd /home/whoami/桌面 ls 查看这个.tar. ...
- git入门 多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: $ git r ...
- SSH框架用法,及作用(在一位菜鸟使用半年之后归纳的总结)
SSH框架从接触以来改变了我对代码的编写方式,从最初开始学习到勉强掌握可以说得到不少心得,以下内容出自java初学者对SSH的理解,如有不对的地方还请谅解,希望可以提出来与我交流,谢谢! SSH顾名思 ...
- Linux禁止ping以及开启ping的方法
---恢复内容开始--- Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法P ...
- 洛谷P3178 [HAOI2015]树上操作
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a .操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 ...
- 洛谷P4064 [JXOI2017]加法(贪心 差分)
题意 题目链接 Sol 这题就是一个很显然的贪心... 首先二分一个答案,然后check是否可行.check的时候我们需要对每个位置\(i\),维护出所有左端点在\(i\)左侧,右端点在\(i\)右侧 ...
- 【20190226】CSS-知识点记录::nth-child,:nth-of-type
:nth-child: ele:nth-child(k):选择父元素下第k个子元素,且该子元素为ele,若不是,则选择失败,k从1开始计数 ele:nth-child(-n+5):选中前五个子元素,n ...
- 一次断电引发的svn数据库故障
作者:朱金灿 来源:http://blog.csdn.net/clever101 昨天办公室停电了.然后今天更新svn数据库时出现一个不能读取文件:End of file found的错误,具体如下图 ...