关于gor: 参考: https://www.cnblogs.com/jinjiangongzuoshi/p/11773070.html https://github.com/buger/goreplay/wiki/Getting-Started 这篇小记主要是记录gor不支持https流量镜像的一种解决思路 https流量镜像 1.在nginx proxy 配置 post_action(或者mirror),实现https流量镜像出http流量到gor server { listen 80;  …
一.使用背景 gor 是一款go语言实现的简单的http流量复制工具,它的主要目的是使你的生产环境HTTP真实流量在测试环境和预发布环境重现.只需要在 代理例如nginx入口服务器上执行一个进程,就可以把生产环境的流量复制到任何地方, 完美解决了HTTP 层实时流量复制和压力测试的问题.常见的HTTP流量copy工具还有另外一款tcpcopy.将机器A上的http请求复制转发到指定机器B上去, 通过线上流量复制引流,通过将真实请求流量放大N倍来进行压测,能对服务有一个较为全面的检验. 二.安装…
1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能: 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问: 这跟灰度发布还不太一样,镜像流量不会影响真实流量: 可以用来排查线上问题: 重构,假如服务做了重构,这也是一种测试方式: 为了实现流量拷贝,Nginx提供了ngx_http_mirror_module模块 2. 安装Nginx 首页,设置yum仓库.为此,创建一个文件/etc/yum.repos.d/nginx.…
流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线.这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流:另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发执行来模拟复制. 构造两个服务: location /test1 { keepalive_timeou…
在前面一篇文章中,使用openssl生成了免费证书 后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static # 存放html文件 | | |--- index.html # index.html | |--- node_modules # 依赖包 | |--- app.js # node 入口文件 | |--- package.json | |--- .babelrc # 转换es6文件 index.ht…
TCPCopy是一种重放TCP流的工具,使用真实环境来测试互联网服务器上的应用程序. 一.描述: 虽然真实的实时流量对于Internet服务器应用程序的测试很重要,但是由于生产环境中的情况很负责,测试环境很难完全模拟线上环境.为了能够更真实的测试,我们开发了一款线上流量复制工具-TCPCopy,它可以使用线上真实的流量来对测试环境中的服务器进行测试.目前,TcpCopy技术已经在中国很多公司大量使用. 二.使用场景: 1)分布式压力测试 使用tcpcopy复制真实的数据来进行服务器的压力测试.有…
背景 开发微信小程序,需要https域名,因此使用Nginx的SSL模块配置https 步骤 一.去域名管理商(如腾讯云.阿里云等)申请CA证书 二.在Nginx中配置,一般情况下域名管理商会提供配置文档 1.把证书和密钥上传到服务器中(所在位置和nginx.conf配置中一致,这里我直接放在nginx.conf同一目录下) 2.配置nginx.conf,如下所示: server { #https默认地址端口443 listen 443 ssl; #域名 server_name xx.xxx.c…
文章转载自:https://mp.weixin.qq.com/s/nMMN7hAJK6SFn1V1YyxvHA Traefik 2.0 还引入了镜像服务,一种可以将流入流量复制并同时将其发送给其他服务的方法,镜像服务可以获得给定百分比的请求同时也会忽略这部分请求的响应: [http.services.mirrored-api] [http.services.mirrored-api.mirroring] service = "api" [[http.services.mirrored-…
http重定向到https使用了nginx的重定向命令.那么应该如何写重定向?之前老版本的nginx可能使用了以下类似的格式. rewrite ^/(.*)$ http://domain.com/$1 permanent; 或者 rewrite ^ http://domain.com$request_uri? permanent; 现在nginx新版本已经换了种写法,上面这些已经不再推荐. 下面是nginx http页面重定向到https页面最新支持的写法: server { listen ;…
此方式支持firefox,chrome 建立path变量 SSLKEYLOGFILE=c:\ssl.key 重启firefox chrome,访问https网站会自动生成ssl session key linux,mac 使用export建立变量 export SSLKEYLOGFILE=/tmp/ssl.key 打开wireshark,Edit--->Preferences--->Protocols--->ssl 在(pre) -master-secret log filename:这…
1.rewrite server { listen 80; server_name test.com; rewrite ^(.*)$ https://$host$1 permanent; } 2. nginx状态码 497重定向 server { listen 443; listen 80; server_name a.com; ssl on; ssl_certificate /etc/nginx/test.pem; ssl_certificate_key /etc/nginx/test.key…
0x01.Why? 做移动测试的同学经常会在app和server中间架设一个代理(例如charles或者fiddler等),由经代理,app和server之间的交互及交互内容变得可视化,使得我们不再摸黑测试.事实上,能够很好的掌握app和server端的交互不仅对于测试,对于开发,对于产品的整个质量提高都是有非常大益处的.但是,有些场景下,架设代理变得不易,或者难于满足要求,举几个例子: 想要找出正常用户使用时候,哪些场景最耗流量(你不能让用户挂代理,如果有针对网络流量的优化,挂代理也看不出问题…
转自:http://yoursunny.com/t/2011/FiddlerHTTPS/在服务器上用Fiddler抓取HTTPS流量 阳光男孩 发表于2011-03-19 开发互联网应用的过程中,常常会设立或利用网络接口.为了调试对网络接口的使用,往往需要查看流入和流出网络接口的网络流量或数据包.“抓包工具”就是一类用于记录通过网络接口的数据的工具. 我们知道,网络协议是分层设计的,OSI模型将网络协议分为了7个层次.不同的抓包工具,可以在网络协议的不同层次上工作.常用的Wireshark就是一…
上一篇文章简单简单分析了fiddlercore自带样例的代码,本篇文章进入主题,介绍如何使用fiddlercore截获HTTPS流量. 当时学习完样例代码后,我觉得结合注释来抓HTTPS的包应该也很简单,结果按照注释的提示修改了下代码后,还是抓不到,反复尝试了很多方法都没有解决,在google上搜了搜有人说可能是证书的问题,但也没有给出具体的解决办法,所以只能自己慢慢摸索,终于找到了一种方法,在这里和大家分享一下. 既然有可能是证书出了问题,那么我们就自己生成个证书,翻了翻帮助文档发现还真有这样…
Nginx强制http跳转https访问有以下几个方法 nginx的rewrite方法 可以把所有的HTTP请求通过rewrite重写到HTTPS上 配置 方法一 server{ listen ; server_name XXXXX.com; //你的域名 rewrite ^(.*)$ https://XXXXXX.com permanent; location ~ / { index index.html index.php index.htm; } } 方法二 server{ listen…
使用nginx代理后以及配置https后,如何获取真实的ip地址 Date:2018-8-27 14:15:51 使用nginx, apache等反向代理后,如果想获取请求的真实ip,要在nginx中配置,把当前请求的ip等信息携带去请求应用服务. 1.配置nginx的https servler nginx.conf配置 server { listen 80; server_name edudemo.XXX.com; # 如果配置了下面的rewrite,下面的location就没用了,会直接转发…
一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS https://home.cnblogs.com/u/beyang/ 一台服务器,两个域名 首先购买https,获取到CA证书,两个域名就得到两套证书 第二步:现在就是Nginx和OpenSSL的安装与配置(这里注意,一般情况下一个IP只支持一个SSL证书,那么我们现在要在一个IP上实现多个SSL证书,就必须让Nginx支持TLS SNI,由于默认的OpenSSL是没有打开TLS SNI的) 1)Nginx支持多域名SS…
HTTPS协议是为了数据传输安全的需要,在HTTP原有的基础上,加入了安全套接字层SSL协议,通过CA证书来验证服务器的身份,并对通信消息进行加密.基于HTTPS协议这些特性,我们在使用Burp Proxy代理时,需要增加更多的设置,才能拦截HTTPS的消息. 我们都知道,在HTTPS通信过程中,一个很重要的介质是CA证书,下面就我们一起来看看 Burp Suite中CA证书的安装. 相信很多人在用Burp Suite 抓包时,都遇到过如下情况: 这是由于未安装Burp Suite 的CA证书导…
version: 1.1(fixed) 修正一些错误基本环境:/etc/nginx/nginx.conf #保持/etc/nginx/ssl/    #ssl认证文件/etc/nginx/site-available  #VirtualHost设置区/etc/nginx/site-enable  #VirtualHost应用区 基本设计:让nginx支持多域名(包括二级域名),并自动跳转到https(所有域名默认访问https),反向代理转发到后台不同端口. 设置文件:/etc/nginx/si…
nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这个文件名类似libssl-dev. 生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $…
转载自:https://imququ.com/post/how-to-decrypt-https.html作者: Jerry Qu Web 安全是一项系统工程,任何细微疏忽都可能导致整个安全壁垒土崩瓦解.拿 HTTPS 来说,它的「内容加密.数据完整性.身份认证」三大安全保证,也会受到非法根证书.服务端配置错误.SSL 库漏洞.私钥被盗等等风险的影响.很多同学认为只要访问的网站地址前有一把小绿锁就绝对安全,其实不然.本文通过介绍三种最常规的 HTTPS 流量解密方法及原理,浅谈一下 HTTPS…
手头项目中有使用到 nginx,因为使用的三方云服务器,想上外网需要购买外网IP的,可是有些需要用到外网却不常用的主机也挂个外网IP有点浪费了,便想使用nginx的反向代理来实现多台内网服务器使用一台代理服务器进行外网访问. 查了很多资料,分享这个功能的人很多(都是好人啊),参考着实现还是费了大半天功夫才搞定,总结了一下,让后来的人少走一些弯路. 我有两台云服务器:172.25.114.72 是有外网的服务器,在这台上面安装 nginx172.25.114.71 是没有外网的服务器,这台服务器通…
原理 我们先回顾一下SSL/TLS的整个握手过程: Clienthello:发送客户端的功能和首选项给服务器,在连接建立后,当希望重协商.或者响应服务器的重协商请求时会发送. version:客户端支持的最佳协议版本 Random:共32字节,28字节随机数,4字节额外信息,受客户端时钟影响(为了避免浏览器指纹采集,现在一般会对4字节时钟做扭曲) Session ID:32字节随机数,用于和服务器重建会话,为空表示新建会话 cipher suit:客户端支持的所有密码套件,按优先级排列 Comp…
docker pull 镜像时报错: Error response from daemon: Get https://registry-1.docker.io/v2/library/nginx/manifests/1.14-alpine: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fnginx%3Apull&service=registry.docker.io: dial tcp: lookup auth.docke…
beego项目部署到nginx(含http转https)    之前的程序部署到服务器采用的直接部署,比较方便,现在把它部署到nginx,以便后续的反向代理和负载均衡,同时,因为要接入微信小程序,所以需要将之前的域名http://www.xxxxxx.com转成https://www.xxxxxx.com. 更多内容可关注公众号,里面都是作者原创. 1,安装Nginx. 卸载原来的nginx:sudo apt-get —purge autoremove nginx 安装nginx:sudo ap…
在百度了一堆以及修修改改下终于拦截到HTTPS流量了. 安装步骤就大致讲一下吧 网上下载burp的安装包,然后Mac上直接打开这个burpUnlimited.jar包就可以了 我直接选择的第一个   查看端口.如果本机的8080端口有被占用可以自己设置,最好不要设置常用的 可以用8888 9999 之后就是对浏览器设置代理.我用的Chrome.其实不进浏览器也可以直接打开电脑上的网络找到“代理页面”勾选网页代理HTTP并在右边设置好IP(如果是本机直接用localhost)以及上一步设置好的端口…
在我之前的一篇文章中已经介绍了一种解密HTTPS流量的一种方法,大致方法就是客户端手动信任中间人,然后中间人重新封包SSL流量. 文章地址: http://professor.blog.51cto.com/996189/1746183 方法概览 今天给大家介绍另外一种解密HTTPS流量的方法. Wireshark 的抓包原理是直接读取并分析网卡数据,要想让它解密 HTTPS 流量,有两个办法: 如果你拥有 HTTPS 网站的加密私钥,可以用来解密这个网站的加密流量: 某些浏览器支持将 TLS 会…
Nginx反向代理服务,可以代理接收请求,并把请求转发到设置好的其他服务器上. 例如,Nginx服务器为 100.101.102.103,A服务为 100.101.102.104 ,通过Nginx配置文件,可以是Nginx服务器代理接收A服务的请求,然后转发到A服务上. 通过SSL证书配置可以是Nginx具有接收Https的能力,然后通过http转发到A服务上: 或者接收Http请求,通过Nginx配置,强制转成Https请求转发到A服务上. Nginx可以代理多个服务. 本文使用的是windo…
背景 公司卖了一个产品给甲方,甲方要求部署后,要以https来访问.甲方提供了证书信息和私钥,记录一下部署过程. 实现 1.思路 在我们产品服务器上部署一个nginx.证书信息也放在这个服务器上.外界的https经过nginx变成http协议,大致思路如下: 2.安装过程 (1)上传证书.私钥到服务器 证书server.pem放于/hand/certificate/server.pem: 私钥server.key放于/hand/certificate/server.key; (2)配置nginx…
你还在让你的网站裸奔在网络上吗?在这里我们将搭建免费版HTTPS,免费的,免费的,免费的,重要的事情说三遍,申请来源为letsencrypt, 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,如果攻击者截取了客户端与服务器之间的传输报文,将能直接获取到其中信息, 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全, HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服…