公司网站架构为: 前面2台HA负载均衡,后面3台Nginx负载均衡反向代理,然后后面有N台WEB服务器 由于要统计IP,需要在WEB服务器日志里体现客户端真实IP 那么问题来了,通过HA代理的HTTP协议是没有问题的,后端的WEB服务器可以正常获取到客户端真实IP 但是通过HA代理的HTTPS协议就不行了,为什么呢,因为我们HA设置的是代理模式就是TCP模式,TCP代理SSL协议跳转到后面的NG上 由于4层协议是不能转发heder的,那后端https自然获取不到客户端真实IP了,怎么办呢,网上找…
协议诞生背景 在Web分布式系统中,一般会搭建复杂的load blance系统来提供高性能的web服务. 7层的SLB 有基于nginx/淘宝变种tengine的.后端RS会无法获取真实客户端IP. 为了解决此问题,HAProxy的作者Willy Tarreau于2010年开发和设计的一个Internet协议,通过为tcp添加一个很小的头信息,来方便的传递客户端信息(协议栈.源IP.目的IP.源端口.目的端口等),在网络情况复杂又需要获取用户真实IP时非常有用.其本质是在三次握手结束后由代理在连…
目录 简介 redis的高级用法 Redis中的pipline Redis中的Pub/Sub RESP protocol Simple Strings Bulk Strings RESP Integers RESP Arrays RESP Errors Inline commands 总结 简介 redis是一个非常优秀的软件,它可以用作内存数据库或者缓存.因为他的优秀性能,redis被应用在很多场合中. redis是一个客户端和服务器端的模式,客户端和服务器端是通过TCP协议进行连接的,客户端…
目录 简介 netty对proxy protocol协议的支持 HAProxyMessage的编码解码器 netty中proxy protocol的代码示例 总结 简介 我们知道proxy protocol是haproxy提出的一个代理协议,通过这个协议,所有实现这个协议的proxy或者LBS,都可以附带真实客户端的IP地址和端口号,这使得proxy protocol在实际应用中非常有用. 这么优秀的协议,没有理由netty不支持.本文将会谈一下netty中对proxy protoco代理协议的…
实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准. TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP 协议.ICMP 协议.TCP 协议.以及 http.ftp.pop3 协议等.网络中的计算机都采用这套协议族进行互联. 网络协议栈架构 提到网络协议栈结构,最著名的当属 OS…
Proxy protocol 是haproxy 作者开发和设计的一个inernet 协议, 用于获取客户端的IP地址. 在使用7层代理是可以向http协议添加X-Forword-For来实现,而4层协议就无法简单的获取到客户端IP. haproxy.nginx.apache.squid.mysql等等都支持proxy protocol. Proxy protocol需要两个角色sender和receiver,sender在与receiver之间建立连接后,会先发送一个带有客户信息的PP包,因为更…
问题描述: 在Web分布式系统中,一般会搭建复杂的load blance系统来提供高性能的web服务. load blance有4层网络的,也有7层网络的.再经过这样的分布式网络之后,后面真正提供服务的 程序可能会丧失掉client的网络信息,也就是IP地址以及TCP端口. 解决方法: 为了解决这样的问题,存在着这样一种协议.叫做 Proxy Protocol. 正文 1.  协议实现 在三次握手之后,会增加一个TCP payload包,包payload长度48字节.如图: 示例,如下图所示的第…
目录 简介 SOCKS的故事 SOCKS的历史 SOCKS协议的具体内容 SOCKS4 SOCKS4a SOCKS5 总结 简介 很久很久以前,人们还穿的是草鞋,草鞋虽然穿着舒服,但是不够美观.然后人们就发现,用动物的皮也可以做成鞋,于是出现了皮鞋.但是皮鞋穿着磨脚,于是人们又发明了socks,套在脚上,代替脚跟鞋子接触,既提高了舒适感,也减少了磨损,简直是一举两得的事情,非常完美. 在网络世界,也存在这样的socks,为了和真实世界的socks进行区分,这里我们使用大写的SOCKS. SOCK…
Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Python>一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题而作.由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人偏好.教程同时提供图文和视频教程两种方式,供不同喜好的同学选择. 1…
目录 一.网络协议 二.TCP(Transmission Control Protocol,传输控制协议) TCP头格式 TCP协议中的三次握手和四次挥手 TCP报文抓取工具 三.HTTP(HyperText Transfer Protocol,超文本传输协议) 请求报文结构 请求报文样例 请求报文参数详解 响应报文结构 响应报文样例 响应报文参数详解 HTTP报文抓取工具 Session和Cookie 四.相关资料 一.网络协议 国际标准化组织(International Standard O…