没有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. java对象的引用级别

    解释 在java中也有引用的概念,其实就可以认为是变量.标题中的引用级别是指变量与对象之前的引用级别.java中分为4种,按引用强弱关系排序分别是:强引用.软引用.弱引用.虚引用. 强引用(Stron ...

  2. linux centos7 移动文件到指定目录

    2021-08-26 在 centos7 环境下怎么移动一个文件到其他的目录下呢? 使用命令  mv 文件名 指定目录  即可完成该操作. 那么怎么将一个文件夹下的内容移动到另一个文件夹下呢?比如有时 ...

  3. tomcat配置启动不了

    关于ideatomcat配置问题 1.第一步配置tomcat启动器 2.配置启动的网址 3.配置启动器的启动 ---更多java学习,请见本人小博客:https://zhangjzm.gitee.io ...

  4. iNeuOS工业互联平台,增加OPC UA驱动,同步和订阅方式读取数据

    目       录 1.      概述... 1 2.      平台演示... 2 3.      OPC UA应用效果... 2 1.   概述 最近的项目,用户需要使用OPC UA读取数据,通 ...

  5. 洛谷P1314 聪明的质监员 题解

    题目 聪明的质监员 题解 这道题和之前Sabotage G的那道题类似,都是用二分答案求解(这道题还要简单一些,不需要用数学推导二分条件,只需简单判断一下即可). 同时为了降低复杂度,肯定不能用暴力求 ...

  6. Spring表达式

    一.SpEL 其中,直接写也可以赋值,' ' 单引号引起来后成为一个字符串对象,可以调用String的方法: 二.引用另外一个bean 装配这个类的bean: 1.第一种方法,property标签中使 ...

  7. djang2.1教育平台02

    在次申明,之所以重做这个资料是因为原幕课教程漏洞太多,新手根本没有办法正常照些学习,我凭着老男孩python 课程基础,重做这个教程 ,更改版本为当前最新版本,为了方法以后的人学习,并不是照着原文照  ...

  8. Java多线程-1(3)

    本份随记主要为狂神老师的Java多线程教学的学习笔记,记载了视频中一些有关基础概念以及部分代码示例.随机分为1-3共三份,知识点记录的不是很深入,以后的学习过程中随时补充. 1 有关基础概念 1.1 ...

  9. 学习PHP中的iconv扩展相关函数

    想必 iconv 这个扩展的相关函数大家多少都接触过,做为 PHP 的默认扩展它已经存在了很久,也是我们在操作字符编码时经常会使用的函数.不过除了 iconv() 这个函数外,你还知道它的其它函数吗? ...

  10. 简单了解Phar代码打包工具的使用

    简单了解Phar代码打包工具的使用 Phar 是在 PHP5 之后提供的一种类似于将代码打包的工具.本质上是想依照 Java 的 Jar 文件那种形式的代码包,不过本身由于 PHP 是不编译的,所以这 ...