前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx四层代理原理

nginx四层代理原理

作者头像
用户4415180
发布2022-06-23 14:32:57
1.8K0
发布2022-06-23 14:32:57
举报
文章被收录于专栏:高并发

nginx一般使用七层代理也就是http应用层代理,可以反向代理和负载均衡。但是项目要使用长连接,此时内网服务器肯定不能暴漏,还是需要接入层网关进行转发,一般有使用lvs,lvs专门用作四层代理和负载均衡基于内核态,并发量很大。但是lvs配置相对复杂,我们的这个项目长连接数不会太多,所以不需要使用lvs。就直接使用nginx的四层代理,nginx的四层代理需要使用nginx的stream模块在编译的时候需要编译进去,在nginx.conf文件中配置如下:

代码语言:javascript
复制
stream {                                           #stram模块 和http模块是一同等
级;做四层代理时需要添加上这个模块;
      server {
          listen 9000;                          #9000端口将以4层TCP协议方式转发
至后端app_sever;
          proxy_pass app_server;
      }
      upstream app_server{
          server 192.168.0.110:9000;
      }
}

比如后端app应用的长连接ip端口是192.168.0.110:9000,nginx也使用9000端口作为长连接端口,则客户端需要连接nginx的9000端口,然后发送报文到nginx,nginx再转发给192.168.0.110:9000后端应用,转发原理是nginx作为客户端去和192.168.0.110:9000的后端应用建立长连接,然后将报文发送给192.168.0.110:9000

可以看到客户端每发送一个长连接到nginx,nginx作为客户端都发起socket连接到后端服务,这样肯定会占用更多的文件描述符。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档