10.11 HTTPS
没有HTTPS的抓包截图

HTTPS=HTTP + TLS/SSL
https 实现过程如下
1.客户端发起HTTPS请求
rewrite
www.baidu.com
https://www.baidu.com 客户端访问某个web端的https地址,一般都是443端口
2.服务器端的配置
采用https协议的服务器必须有一套证书
证书就是一个公钥和私钥
你可以将公钥送给别人用来加密文件,只有你的私钥可以打开,就保证了数据的安全
证书:需要从一些CA组织颁发,CA被各大浏览器厂商所认可
也可以自己颁发,
3.传送证书
服务端给客户端传递证书,其实就是公钥,包含了(颁发机构,过期时间等)
4.客户端解析证书
这部分是由客户端完成的,首先验证公钥的有效性,比如颁发机构和过期时间等,
如果发现异常则会弹出警告框提示证书可能存在问题,
如果证书没有问题就生成一个随机值,然后用证书对该随机值进行加密,
5.传送4步骤的加密数据
将用证书加密后的随机值传递给服务器,目的就是为了让服务器得到这个随机值,以后客户端和服务器端的通知就可以通过这个随机值进行加密解密了
6.服务器端解密信息
服务器端用私钥解密第5步加密后的随机值之后,得到了客户端传过来的随机值(私钥)
然后把内容通过该值进行对称加密(就是将信息和私钥通过算法混合在一起),
这样除非你知道私钥,不然是无法获取其内部的内容,而正好客户端和服务器端都知道这个私钥,只要机密算法足够复杂就可以保证数据的安全性
7.传输加密后的信息
服务器端将用私钥加密后的数据传递给客户端,在客户端可以被还原出数据内容
8.客户端解密信息
客户端用之前生成的私钥解密服务端传递过来的数据,由于数据一直是加密的,所以第三方获取也无法知道其详细内容
配置参数
配置参数
listen 443 ssl;
ssl_certificate *.crt;
ssl_certificate_key *.key; 私钥 ssl_protocols [SSLv2|SSLv3|TLSv1|TLSv1.1|TLSv1.2];ssl协议版本
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
自签证书
[root@centos7 conf.d]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 3650 -out ca.crt
Generating a 4096 bit RSA private key
................................................................++
.......................................................++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:guangdong
Locality Name (eg, city) [Default City]:shenzhen
Organization Name (eg, company) [Default Company Ltd]:nginx
Organizational Unit Name (eg, section) []:tech
Common Name (eg, your name or your server's hostname) []:www.nginx.com
Email Address []:
nginx配置
server {
listen 443 ssl;
server_name www.nginx.com;
ssl_certificate ca.crt;
ssl_certificate_key ca.key;
# ssl_protocols SSLv2 ;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
反向代理
server {
listen 81;
server_name localhost;
location / {
proxy_pass http://10.211.55.20:80;
proxy_set_header X-Forwarded-For $remote_addr; #IP转发
}
}
配置nginx status
location /status {
stub_status on; //开启状态模块功能
allow 192.168.0.1; //只允许本机查看(实验环境不需要添加)
deny all; //拒绝所有人查看(实验环境不需要添加)
}
Active connections: //当前活动的连接数量
accepts //已经接受客户端的连接总数量
handled //已经处理客户端的连接总数量
requests //客户端发送的请求数量
Reading //当前服务器正在读取客户端请求头的数量
Writing //当前服务器正在响应客户端的信息数量
Waiting //当前客户端正在等待服务器的响应数量
10.11 HTTPS的更多相关文章
- iOS冰与火之歌(番外篇) - 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权
iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用 ...
- HP 820 G2变色龙安装10.11.6基本完美
初始状态: 一块ssd硬盘,MBR格式分区,安装了WIN7 64位. 不想动win系统,因此就安装在硬盘的扩展分区 电脑配置: cpu: i7-5600u 声卡: ALC280 显卡: HD55 ...
- MAC OS升级到10.11(OS X EICAPTION)之后CocoaPods不能正常使用的问题解决
昨晚回家之后开始升级系统到10.11,下载了一整个晚上之后终于在早上下载完毕,早上带到公司,想查一个第三方库的时候却遇到了问题: guoyufudeMacBook-Pro:~ GuoYufu$ pod ...
- 战神Z7 D2安装黑苹果OS X El Capitan 10.11.2
安装之初状态:两块硬盘,都是MBR格式分区,一块是机械硬盘,安装了WIN7 32位和Linux,一块是SSD,安装的是WIN7 64位与WIN10 64位以前玩过Mavericks,安装的就是在硬盘的 ...
- mac 10.11.6,Xcode8下,ruby2.3安装,Cocoapods安装~
适用环境 mac: 10.11.6 Xcode:8.1 命令执行步骤(安装ruby2.3前准备工作) 查看ruby更新源 gem sources -L 删除默认官方或者淘宝,新增 https://g ...
- 10.11 cocoapods安装
手动安装gem 手动下载 rubygem https://rubygems.org/pages/download#formats 10.11 cocoapods安装 sudo gem install ...
- 10.11 安装pod
原文地址:http://www.jianshu.com/p/5fc15906c53a 感谢. 更新升级10.11 cocoapods安装出问题最简单的解决方法 这是因为10.11把cocoapods ...
- 2016 Mac OS 10.11 CocoaPods的安装问题
CocoaPods的安装问题: 1.首先用淘宝的Ruby镜像来访问CocoaPods,打开终端输入以下命令: (1)gem sources --remove https://rubygems.org ...
- 升级Capitan 10.11以后CocoaPod 无效解决办法
今天发现升级10.11的系统以后执行 pod install 的时候报错 zsh: command not found: pod 解决方法如下: 1.检查gem 的数据源 gem sources -l ...
随机推荐
- c++制表符
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 //制表符是8个字符,当在一个制表符开始的位置(明白什么位置是 ...
- 六、Abp vNext 基础篇丨文章聚合功能上
介绍 9月开篇讲,前面几章群里已经有几个小伙伴跟着做了一遍了,遇到的问题和疑惑也都在群里反馈和解决好了,9月咱们保持保持更新.争取10月份更新完基础篇. 另外番外篇属于 我在abp群里和日常开发的问题 ...
- Vue初体验(一)
每个 Vue 应用都需要通过实例化 Vue 来实现. 语法格式如下: var vm = new Vue({ // 选项 }) 接下来让我们通过实例来看下 Vue 构造器中需要哪些内容: 可以看到在 V ...
- Tolist案例(父子传参实现增删改)
1.Tolist案例(父子传参实现增删改) 目录结构 实现效果: App.jsx class App extends Component { // 状态在哪里, 操作状态的方法就在哪里 state = ...
- P1721 [NOI2016] 国王饮水记 题解
蒟蒻的第一篇黑题题解,求过. 题目链接 题意描述 这道题用简洁的话来说,就是: 给你 \(n\) 个数字,你可以让取其中任意若干个数字,每次操作,都会使所有取的数字变为取的数字的平均数,并且你最多只能 ...
- Xshell破~~解和SecureCRT破~~解办法,亲测可行
解决办法很简单,那就是安装MobaXterm, 安装上即可使用,无需破击,免费,功能同样强大,不比xshell, SecureCRT功能差.它是集万千功能于一身的全能型终端神器. 听名字就不会太差,看 ...
- BeanFactory和ApplicationContext对比
一.BeanFactory和ApplicationContext对比 其中,ApplicationContext容器即时加载,就是一加载配置文件,就会创建对象,且自动装配bean(即写道xml中bea ...
- linux下制作img文件
一.简介 制作img文件可以使用linux系统中的dd命令制作,Linux dd 命令用于读取.转换并输出数据.dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件.设备或标准输 ...
- Vue设置全局cookies样式
''' 配置全局cookies样式 下载:cnpm install vue-cookies import cookies from 'vue-cookies' Vue.prototype.$cooki ...
- Docker宿主机管理
不需要每次输入sudo 在当前用户的用户目录.bashrc中增加以下内容,此后使用docker命令时不需要每次都增加sudo. echo 'sudo usermod -aG docker $USER' ...