nginx的正向代理&反向代理的关系和区别详解
  

cyq 3369

{{ttag.title}}
nginx代理
Nginx代理有正向和反向代理,可以基于osi七层模型中的第四层(传输层)和第七层(应用层)进行代理(nginx 一般支持的是7层代理,支持四层代理一般使用 lvs 或者haprox,但 nginx 从1.9.0 版本开始支持四层代理,但做四层代理时 源码编译需要添加 --with-stream模块,//这里的–with-stream 是添加四层代理模块,可以用来创建其
他业务集群),正向代理代理的对象是客户端,反向代理的对象是服务端,在日常使用中,反向代理web服务器这种方式使用得比较多。Nginx采用C进行编写,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,其特点是占有内存少,并发能力强。
模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI。

Nginx七层代理和四层代理的区别
1
7层代理是写在http模块中的,而4层代理是写在stream模块中,与http模块并列,且做四层代理时 源码编译需要添加 --with-stream模块进行编译
2
7层和4层代理基于的协议不同,根据OSI七层模型,
第七层是应用层,第四层是传输层,7层代理是协议和内容的交换,(主要支持的协议有http,htps,smtp,ftp,dns,pop3,dhcp等协议,通常是http代理),7层代理可以 基于url和ip以及cookie和请求头 进行分流
—针对web服务,七层通过虚拟的 URL 或主机名接收请求,然后再分配到真实的服务器七层就是基于 URL 等应用层信息的负载均衡;

4层代理是基于ip和端口的转发,是基于TCP/UDP协议,–with-stream 是添加四层代理模块,可以用来创建其他业务集群,比如ssh,mysql
—针对web服务,所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡 设备设置的服务器选择方式,决定最终选择的内部服务器,它一般走的是tcp,udp协议。Eg:


3
写法上的差异
七层代理的写法:
之后开启nginx或者重加载nginx配置,用curl 192.168.2.5可以看到 web1
或web2页面轮询出现,7层代理在proxy_pass上一行多一个location/{,proxy_pass配置行加 http:// 集群名

四层代理的写法:

四层代理设备将client发送报文中的目标地址(原来为四层代理的ip地址)修改为目标内部服务器的地址,这样client就可以和server建立TCP连接并发送数据
在stream中,server一定要配置port,proxy_pass配置行直接加集群名,**不能加http:// **

关于正向/反向代理区别
正向代理是客户端代理,用户清楚的知道访问的服务器是谁. 保护了客户端信息
反向代理是服务器端代理.用户不清楚访问的真实服务到底是谁. 保护了服务端信息

正向代理语法格式:


正向反向代理与这里的$host$request_uri写法有关,反向代理的写
location / {
proxy_pass http://localhost:9001/;
}
从配置来看,正向代理和反向代理的配置区别在于proxy_pass的配置
1.正向代理proxy_pass配置的是动态url
2.反向代理proxy_pass配置的是静态服务器

测试
在linux上测试
curl -I https://xxxxx –proxy proxyserver:port
在windows客户端配置代理服务器

设置完成后,再次通过浏览器访问服务端

四层、七层代理与正向、反向代理的关系:
七层代理可以是正向代理也可以是反向代理,如上方例子中的正反向代理就是基于7层
四层代理都是反向代理,例如上方的ssh,mysql集群的反向代理,或者下方的单个服务反向代理

Nginx代理与负载均衡的关系
在nginx中用到了反向代理,不一定会用负载均衡
在nginx中用到了负载均衡,一定会用反向代理

打赏鼓励作者,期待更多好文!

打赏
3人已打赏

平凡的小网工 发表于 2024-2-12 10:50
  
多谢分享Nginx相关的知识,有助于工作。
一个无趣的人 发表于 2024-2-13 15:23
  
有助于工作, 多谢分享。
php 发表于 2024-2-18 19:03
  
学习到了,加油加油加油!!!!
发表新帖
热门标签
全部标签>
每日一问
西北区每日一问
安全效果
技术盲盒
干货满满
【 社区to talk】
技术笔记
技术咨询
高手请过招
新版本体验
标准化排查
功能体验
2023技术争霸赛专题
信服课堂视频
GIF动图学习
产品连连看
社区新周刊
纪元平台
秒懂零信任
技术晨报
自助服务平台操作指引
每周精选
技术圆桌
每日一记
终端接入
玩转零信任
场景专题
全能先锋系列
畅聊IT
答题自测
专家问答
在线直播
MVP
网络基础知识
安装部署配置
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
云化安全能力

本版达人

新手89785...

本周建议达人

YangZhe...

本周分享达人