[TCP/IP][distributed] proxy protocol 是什么
问题描述:
在Web分布式系统中,一般会搭建复杂的load blance系统来提供高性能的web服务。
load blance有4层网络的,也有7层网络的。再经过这样的分布式网络之后,后面真正提供服务的
程序可能会丧失掉client的网络信息,也就是IP地址以及TCP端口。
解决方法:
为了解决这样的问题,存在着这样一种协议。叫做 Proxy Protocol。
正文
1. 协议实现
在三次握手之后,会增加一个TCP payload包,包payload长度48字节。如图:
示例,如下图所示的第四个包就是proxy protocol的包。
payload格式,根据V1,V2两个版本有所不同。如下是V1版本,是ASCII码格式:
PROXY TCP4 202.112.144.236 10.210.12.10 \r\n
PROXY TCP6 :da8::: :89c0:::: \r\n
PROXY UKNOWN\r\n
V2的略。(可参考文后的链接)
2. nginx proxy的配置方法
stream { server {
listen ; proxy_pass backend.example.com:;
proxy_protocol on;
} }
3. nginx server的配置方法
http {
log_format elb_log '$proxy_protocol_addr'; server { listen proxy_protocol;
root /usr/local/nginx/html;
index index.html index.htm; server_name hello-world.com;
set_real_ip_from 192.168.10.0/;
real_ip_header proxy_protocol;
} location / {
try_files $uri $uri/ /index.html; proxy_pass http://backend.example2.com:8088;
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
} access_log /usr/local/nginx/stream.log elb_log;
}
参考资料:
https://www.jianshu.com/p/cc8d592582c9
[TCP/IP][distributed] proxy protocol 是什么的更多相关文章
- TCP/IP Four Layer Protocol Format Learning
相关学习资料 tcp-ip详解卷1:协议.pdf 目录 . 引言 . 应用层 . 传输层 . 网络层 0. 引言 协议中的网络字节序问题 在学习协议格式之前,有一点必须明白,否则我们在观察抓包数据的时 ...
- 【转】TCP/IP协议栈及OSI参考模型详解
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...
- TCP/IP协议栈及OSI参考模型详解
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...
- OSI 七层模型和 TCP/IP 协议比较
OSI (Open System Interconnection), 开放式系统互联参考模型.从下到上七层模型功能及其代表协议: 物理层(Physical) :规定了激活.维持.关闭通信端点之间的 ...
- TCP/IP卷一:第一章
================================================= 版權聲明:如需轉載,請列明出處:HingAglaiaWong@博客園 支持原創,是對作者最好的的鼓勵 ...
- 计算机网络基础之TCP/IP 协议栈
计算机网络基础之TCP/IP 协议栈 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP/IP 协议栈概述 1>.什么是TCP/IP协议栈 Transmission C ...
- TCP/IP 协议栈及 OSI 参考模型详解
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...
- TCP/IP的Socket编程
1. TCP/IP.UDP的基本概念 TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,他是一个工业标准的协议集, ...
- TCP/IP HTPP
TCP/IP:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协 ...
随机推荐
- 【mysql】reset Password
https://www.cnblogs.com/josn1984/p/8550419.html https://blog.csdn.net/l1028386804/article/details/92 ...
- (十四)访问标志 Access_flags
一.概念 上一章节讲到了常量池,如下图,常量池之后便是访问标志acess_flags,占2个字节(u2). 二.例子 编写一个接口. public interface Test{ public fin ...
- sentinel搭建redis集群的注意事项
一.protected-mode 默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和s ...
- POJ 3903 Stock Exchange 最长上升子序列入门题
题目链接:http://poj.org/problem?id=3903 最长上升子序列入门题. 算法时间复杂度 O(n*logn) . 代码: #include <iostream> #i ...
- 前端研究CSS之内联元素块级化/区域大小/文字和图标的位置
做了一天的小按钮基本都是文字+小图标的组合,问题挺多处理的不好,现在总结一下做个了断. //页面结构 <span class="b"> <a href=" ...
- 【QT开发】信号转发器QSignalMapper的使用
QSignalMapper我们可以将它理解为一个信号翻译器或者说是哥信号转发器.它的主要应用在于可以实现一个函数相应不同按钮的实现功能.比如我们 实现一个计算器的时候,很多不同的按钮都有着差不多的功能 ...
- 【GStreamer开发】GStreamer播放教程05——色彩平衡
目标 亮度,对比度,色度和饱和度都是常见的视频调节参数,也是GStreamer里面设置色彩平衡的参数.本教程将展示: 如何发现可用的色彩平衡通道 如何改变它们 介绍 <GStreamer基础教程 ...
- Ubuntu14.04一直进入guest session解决办法
按ctrl+alt+F2进入命令行切换用户 进入用户后 sudo vi /usr/share/lightdm/lightdm.conf.d 的50-unity-greeter.conf 添加 allo ...
- formSelects隐藏功能键
隐藏后 方法: // selectId就是select的id,这是在select渲染完后执行 $("#selectId").parent().find(".xm-sele ...
- Bayesian machine learning
from: http://www.metacademy.org/roadmaps/rgrosse/bayesian_machine_learning Created by: Roger Grosse( ...