对七层代理、四层代理、正向代理、反向代理的认识

本文详细介绍了Nginx的正向代理和反向代理原理,区分了七层和四层代理的不同,以及它们在OSI和TCP/IP模型中的作用。同时讨论了正向代理和反向代理的区别以及Nginx代理与负载均衡的关系。
摘要由CSDN通过智能技术生成

一、理解nginx服务代理

Nginx代理有正向和反向代理两种类型,可以基于osi七层模型中的第四层(传输层)和第七层(应用层)进行代理

注:
nginx 一般支持的是7层代理,支持四层代理一般使用 lvs 或者haproxy,但从nginx 从1.9.0 版本开始支持四层代理,但做四层代理时源码编译需要添加 --with-stream模块,这里的–with-stream 是添加四层代理模块

正向代理代理的对象是客户端,反向代理的对象是服务端,在日常使用中,反向代理web服务器这种方式使用得比较多。
Nginx采用C语言进行编写,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,其特点是占有内存少,并发能力强。
模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,
则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI功能。

OSI七层模式:


TCP/IP四层模式:

二、Nginx七层代理和四层代理的区别

在nginx代理中7层代理是写在http模块中的,而4层代理是写在stream模块中,与http模块并列,且做四层代理时源码编译需要添加 
--with-stream模块进行编译

7层和4层代理基于的协议不同,根据OSI七层模型,
第七层是应用层,7层代理主要是协议和内容的交换,7层代理可以 基于url和ip以及cookie和请求头 进行分流

第四层是传输层,4层代理是基于ip和端口的转发,是基于TCP/UDP协议,–with-stream 是添加四层代理模块,可以用来创建其他业务集群,比如ssh,mysql

注:
主要支持的协议有http,htps,smtp,ftp,dns,pop3,dhcp等协议,通常是http代理


★ 针对web服务,七层通过虚拟的 URL 或主机名接收请求,然后再分配到真实的服务器,七层就是基于 URL 等应用层信息的负载均衡;
★ 针对web服务,所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡 设备设置的服务器选择方式,决定最终选择的内部服务器,
它一般走的是tcp,udp协议。

四层代理配置举例:

stream {
    server {
        listen 3308;
        proxy_pass mysql-db;
    }
    upstream mysql-db {
        server 192.20.32.30;
        server 192.20.32.31;
    }    
}

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


七层代理配置举例:

http {
    upstream web {
        server 192.20.21.20;
        server 192.20.21.21;
    }
    server {
    listen 8081;
    
    location / {
        proxy_pass http//web;
        root html;
        index index.html index.htm;
    }
    }
}

三、关于正向/反向代理区别

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


四、总结:

从nginx代理的配置来看,正向代理和反向代理的配置区别在于proxy_pass的配置
1.正向代理proxy_pass配置的是动态url
2.反向代理proxy_pass配置的是静态服务器


四层、七层代理与正向、反向代理的关系:
1、七层代理可以是正向代理也可以是反向代理,如上方例子中的正反向代理就是基于7层
2、四层代理都是反向代理

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

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiang0615csdn

你对鼓励是我最大的动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值