没有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的更多相关文章

  1. iOS冰与火之歌(番外篇) - 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权

    iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用 ...

  2. HP 820 G2变色龙安装10.11.6基本完美

    初始状态: 一块ssd硬盘,MBR格式分区,安装了WIN7 64位. 不想动win系统,因此就安装在硬盘的扩展分区 电脑配置: cpu: i7-5600u 声卡: ALC280 显卡: HD55 ...

  3. MAC OS升级到10.11(OS X EICAPTION)之后CocoaPods不能正常使用的问题解决

    昨晚回家之后开始升级系统到10.11,下载了一整个晚上之后终于在早上下载完毕,早上带到公司,想查一个第三方库的时候却遇到了问题: guoyufudeMacBook-Pro:~ GuoYufu$ pod ...

  4. 战神Z7 D2安装黑苹果OS X El Capitan 10.11.2

    安装之初状态:两块硬盘,都是MBR格式分区,一块是机械硬盘,安装了WIN7 32位和Linux,一块是SSD,安装的是WIN7 64位与WIN10 64位以前玩过Mavericks,安装的就是在硬盘的 ...

  5. mac 10.11.6,Xcode8下,ruby2.3安装,Cocoapods安装~

    适用环境 mac: 10.11.6 Xcode:8.1 命令执行步骤(安装ruby2.3前准备工作) 查看ruby更新源 gem sources  -L 删除默认官方或者淘宝,新增 https://g ...

  6. 10.11 cocoapods安装

    手动安装gem 手动下载 rubygem https://rubygems.org/pages/download#formats 10.11 cocoapods安装 sudo gem install ...

  7. 10.11 安装pod

    原文地址:http://www.jianshu.com/p/5fc15906c53a  感谢. 更新升级10.11 cocoapods安装出问题最简单的解决方法 这是因为10.11把cocoapods ...

  8. 2016 Mac OS 10.11 CocoaPods的安装问题

    CocoaPods的安装问题: 1.首先用淘宝的Ruby镜像来访问CocoaPods,打开终端输入以下命令: (1)gem sources --remove  https://rubygems.org ...

  9. 升级Capitan 10.11以后CocoaPod 无效解决办法

    今天发现升级10.11的系统以后执行 pod install 的时候报错 zsh: command not found: pod 解决方法如下: 1.检查gem 的数据源 gem sources -l ...

随机推荐

  1. SpringCloud商品服务调用方式之feign

    简介:改造电商项目 order-service服务 调用商品服务获取商品信息 Feign: 伪RPC客户端(本质还是用http) 官方文档: https://cloud.spring.io/sprin ...

  2. Struts2之处理请求参数

    时间:2017-1-11 11:05 --Struts2中获取请求参数(重点)1.Struts2是一个MVC框架,那么分别表示什么?    View:JSP    Model:Action    Co ...

  3. 【Python机器学习实战】决策树与集成学习(三)——集成学习(1)

    前面介绍了决策树的相关原理和实现,其实集成学习并非是由决策树演变而来,之所以从决策树引申至集成学习是因为常见的一些集成学习算法与决策树有关比如随机森林.GBDT以及GBDT的升华版Xgboost都是以 ...

  4. MySQL高可用主从复制部署

    原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 基础环境 二 实际部署 2.1 安装MySQL 2.2 初始化MySQL 2. ...

  5. (五)羽夏看C语言——结构体与类

    写在前面   由于此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇 ...

  6. Typora代码块配色和标题自带序号的实现代码

    Typora代码块配色和标题自带序号的实现代码 先打开主题文件夹 文件>偏好设置>外观>打开主题文件夹 然后编辑base.user.css(如果没有就新建一个)文件 /*标题自动添加 ...

  7. 20210718 noip19

    考场 去年考过这场,心态直接爆炸 T1 一眼 T2 当初是我讲的,基本都记得(flag) T3 只记得是树形 DP,但觉得 rush 完前两题后用大量时间应该能搞出来 结果 T2 写了好久,还写假了. ...

  8. Intel® QAT加速卡之加密、哈希操作流程和示例

    Intel QAT 加密API介绍 文章主要讲述了Intel QAT 加密API接口的说明,以及多种应用场景下的使用方法. 文章目录 Intel QAT 加密API介绍 1. 概述 1.1 会话(se ...

  9. python库--flashtext--大规模数据清洗利器

    flashtext.keyword (flashtext) 类/方法 返回值 参数 说明 .KeywordProcessor() 对象kp case_sensitive=False 是否区分大小写 添 ...

  10. qsc oj-17 喵哈哈村的排队

    http://qscoj.cn/problem/17/ 喵哈哈村的排队 描述 有一堆喵哈哈村的村民们在排队,他们从队列的尾部开始标号,标号为1的村民站在最后面,标号为n的村民站在队列的最前面,而且每个 ...