nginx 4层代理转发

Centos/kylin下离线部署nginx做反向代理(支持HTTPs及4层转发) with-stream_ssl_preread_module:在不解密SSL/TLS连接的前置读(preread)阶段,直接从 ClientHello 中提取SNI(Server Name Indication)、ALPN(Application-Layer Protocol Negotiation)、最高支持协议版本。–with-stream_ssl_module:为四层(TCP/UDP)代理增添完整的 SSL/TLS 能力。openssl解压后路径为/root/openssl-1.0.2k。 阅读详情

背景:通过nginx代理转发一个web网站,但尝试在http模块中做代理导致文件无法正常上传,随后采用四层代理方式文件成功上传。


1. 安装stream模块

如果已安装过nginx,进入安装包内重新编译执行。(默认安装位置/usr/local/nginx)

#/usr/local/nginx/sbin/./nginx -V  #查看nginx是否有安装stream模块
#cd nginx1.21.1
#./configure --with-stream 
#make & make install 
#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bakup #备份一下
#cp nginx1.21.1/objs/nginx /usr/local/nginx/sbin/nginx #把新编译安装的给拷贝过去
#/usr/local/nginx/sbin/./nginx -V 再看一下
#cd /usr/local/nginx/conf
#vim nginx.conf
#stream和http同级,不要在http内配置。
#stream {
	server{
		listen		80;
		proxy_pass	xxx.xxx.xxx.xxx:8000;
	}
}
#如果做负载也可以加upstream
#stream {
	upstream  suibian{
	server	xxx.xxx.xxx.xxx:8000;
	server	xxx.xxx.xxx.xxx:8001;
	}
	listen		80;
	proxy_pass		suibian;
}
#../sbin/./nginx -t
#../sbin/./nginx -s reload
# 七层代理
http {
		server {
        listen       80;
        server_name  localhost;
      		location / {
           	proxy_pass http://xxx.xxx.xxx.xxx:8000;
       	 	root   html;
         	index  index.html index.htm;
        }
  }

2. nginx四层代理和七层代理

  1. 层是OSI 7层网络模型,OSI 模型是从上往下的,越底层越接近硬件,越往上越接近软件,这七层模型分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
    4层是指传输层的 tcp / udp
    7层是指应用层,通常是http
  2. 4层用的是NAT技术。NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,请求进来的时候,nginx修改数据包里面的目标IP、源IP和源端口,然后把数据包发向目标服务器,服务器处理完成后,nginx再做一次修改,返回给请求的客户端。
  3. 7层代理:需要读取并解析http请求内容,然后根据具体内容(url, 参数, cookie, 请求头)然后转发到相应的服务器。
    转发的过程是:建立和目标机器的连接,然后转发请求,收到响应数据在转发给请求客户端。
  1. 性能:
    理论上4层要比7层快,因为7层代理需要解析数据包的具体内容,需要消耗额外的cpu。但nginx具体强大的网络并发处理能力, 对于一些慢连接,nginx可以先将网络请求数据缓冲完了一次性转发给上游server,这样对于上游网络并发处理能力弱的服务器(比如tomcat),这样对tomcat来说就是慢连接变成快连接(nginx到tomcat基本上都是可靠内网),从而节省网络数据缓冲时间,提供并发性能。
  2. 灵活性:
    由于4层代理用的是NAT,所以nginx不知道请求的具体内容,所以nginx啥也干不了。 用7层代理,可以根据请求内容(url,参数,cookie,请求头)做很多事情,比如:
    a.动态代理:不同的url转发到不同服务器。
    b.风控:屏蔽外网IP请求某些敏感url;根据参数屏蔽某些刷单用户。
    c.审计:在nginx层记录请求日志
    …
硅传CC1310二次开发必备:手把手教你用JTAG解锁被锁定的Flash存储器 本文针对硅传CC1310模块二次开发中常见的Flash锁定问题,提供了从原理剖析到实战操作的完整解决方案。详细介绍了如何使用Uniflash和Flash Programmer 2等工具进行Flash解锁和擦除,并强调了硬件连接稳定性与供电质量的关键作用,帮助开发者彻底解决烧录障碍,为后续应用开发铺平道路。 阅读详情

相关推荐

使用 DEM 模拟金属烧结过程

了解离散元素法 (DEM) 如何彻底改变烧结工艺,提高制造业的效率和精度。

jkh920184196的博客 1127

nginx通过四层代理实现端口转发

公司原有的测试数据库在主机192.168.10.5上边,现在数据库转移到了192.168.10.4上,为了不让各个地方都需要更改地址,现在需要一个四层代理工具,将原来请求到192.168.10.5的3306端口转发到192.168.10.4的3306端口。 这个工具,用到了 nginx 的四层代理。 官方文档:http://nginx.org/en/docs/stream/ngx_stream_core_module.html 四层代理依赖模块ngx_stream_core_module,该模块自 1.9.

因上努力,果上随缘。但行好事,莫问前程。 4143

使用示波器通过串口抓取数据波形

当我们在软件上发送一个数据,需要在示波器上正确的显示发送数据的波形时,这个过程是需要按照软件上串口配置的参数对示波器进行调节的,本次使用的示波器(型号为RIGOL DS1102Z-E)外观如下图所示,本次对采集波形的调节主要用到以下几处按钮。具体是两条导线T+连接R+、T-连接R-,连接完毕后,打开XCOM软件,首先配置好参数后打开串口,如下所示,若在发送窗口发送数据在接收窗口可以实时显示到的话,证明串口的收发功能是正常的。1.CH1、CH2是示波器上的两个采集通道,本次波形采集使用的是CH1通道。

weixin_58061628的博客 1万+

nginx七层代理和四层转发的理解

nginx反向代理七层和四层的理解

ApexPredator的博客 3602

带隙基准源要点

要点: 负反馈>正反馈;电流镜匹配;双极型晶体管匹配;电阻匹配; 经过R0的电流????????????=????????????????−????????????????????????=∆????????????????????i_R0=(〖VBE〗_1-〖VBE〗_2)/R_0 =∆VBE/R_0 经过R1的电流????????????=i_R1= ????????????????????VBE/R_1 零温电流I = ∆????????????????????∆VBE/R_0 +

HI_WALLE的博客 2264

2021年J题:基于STM32F103的周期信号波形识别与参数测量系统设计(立创EDA+SZPT_ZXL)

本文详细复盘了2021年全国大学生电子设计竞赛J题获奖项目,手把手教你如何基于STM32F103微控制器设计并实现周期信号波形识别与参数测量系统。文章深入剖析了硬件电路设计(包括程控放大、工作点抬升与滞回比较器)与核心软件算法(如动态采样、FFT频谱分析与波形识别逻辑),并分享了DMA传输、FFT库使用等实战要点与避坑指南,为嵌入式信号处理与电赛备赛提供了宝贵经验。

weixin_32673065的博客 228

nginx四层转发应用

nginx四层转发应用

ApexPredator的博客 1555

CodeBuddy Code CLI 常用工作流:17个实战场景全解析

CodeBuddy Code CLI 17个实战场景解析 本文详细介绍了CodeBuddy Code CLI在17个开发场景中的高效应用,包括: 快速理解新代码库 高效修复Bug 安全重构代码 使用子代理系统处理专业任务 Plan Mode安全分析 自动化测试处理 创建合并请求 文档生成与维护 图片内容分析 文件目录快速引用 每个场景都配有具体命令示例和最佳实践,帮助开发者提升工作效率。

简简单单Onlinezuozuo 1079

nginx四层负载均衡(十三)

版本协议:(OSI传输层 ip:port)nginx1.9 版本硬件:F5软件:LVS、Haproxy、Nginx1.四层+七层来作负载均衡,4层可以保证7层的负载均衡的高可用性。如:nginx就无法保证自己的服务高可用,需要依赖lvs或者keepalive来作。2.如:tcp协议的负载均衡,有些请求是TCP协议的(mysql、ssh),或者说这些请求只需要使用4层进行端口的转发就可以了,所以使用4层负载均衡。比如做:mysql读的负载均衡(轮询)

董坤的博客 849

基于FPGA的相控阵雷达波束控制系统设计(2)

也就是在计算波控码时0,按2.8125递增,取遍-90

qq_43416206的博客 1812

大疆前端开发面试题及参考答案(4万字长文)

在前端项目中,难点和性能优化的挑战无处不在。比如在处理复杂交互界面时,实现流畅的动画效果和实时反馈就是一大难点。当界面中有大量元素需要同时进行交互和动态更新,像电商平台的商品筛选和排序功能,不仅要保证操作的即时响应,还要确保界面在各种设备和网络环境下的稳定性,这就需要对事件处理、DOM 操作和数据更新机制有深入理解。在性能优化方面,首屏加载速度是常见的难点。当页面包含大量图片、脚本和样式文件时,如何合理地进行资源压缩、合并与缓存,以减少加载时间,是需要精心考虑的。

大模型大数据攻城狮的专栏 1155

day35-四层负载

测试完成后启动 nginx。通过负载均衡可以访问动态。通过负载均衡可以访问静态。

qq_36262295的博客 618

unity6000.0.3版本URP下ScriptableRendererFeature如何实现一张自定义贴图效果?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 584

一次有趣的nginx Tcp4层代理转发的试验

nginx tcp 虚拟主机的配置。

sunican的专栏 836

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Nginx 4层转发TCP流量实现负载代理

Stream是Nginx的一个模块,是专门用于处理TCP和UDP流量。它可以用于代理非HTTP流量,如SMTP、POP3、IMAP、DNS等。我们常用的模块HTTP模块一般用于处理Web请求和响应。因为这两个块不是归属关系(Stream 不属于 HTTP模块),所以也不能放到 /etc/nginx/conf.d/。操作系统:AlmaLinux release 8.8 (Sapphire Caracal)注意:如果是编译安装需要安装nginx-mod-stream模块。中间件版本:Nginx/1.14.1。

爱吃瓜子的糖的博客 992

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

四层代理_nginx 4层转发、代理、负载均衡

4 层转发、代理、负载均衡nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。添加模块nginx默认是没有编译这个模块的,要使用stream模块,编译的时候记得加上–with-stream这个参数即可。./configure --prefix=/usr/local/nginx --user=www --group=www --w...

weixin_42499100的博客 839

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

nginx tcp转发_nginx 4层转发、代理、负载均衡

4 层转发、代理、负载均衡nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。添加模块nginx默认是没有编译这个模块的,要使用stream模块,编译的时候记得加上–with-stream这个参数即可。./configure --prefix=/usr/local/nginx --user=www --group=www --w...

weixin_39989939的博客 657

Nginx支持4层的反向代理

nginx支持4层协议代理

shenyunsese的专栏 6944

四七层如何获取客户端真实地址

参考:https://blog.youkuaiyun.com/xq123joes/article/details/140179423。NGINX-HTTP服务器。haproxy四层配置。nginx 四层配置。

任我行的博客 516

nginx-stream-四层转发

nginx搭建请看(以往的博客) https://blog.youkuaiyun.com/weixin_44932410/article/details/116747251 实现4层转发代理 vim nginx.conf # 在http区域做4层转发 stream { upstream rabbitmqserver { server 127.0.0.1:5672; server 1.1.1.1:5772; } server { listen 5673; proxy_pass

清风笑烟语 2034

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

4层是指传输层的TCP/UDP协议7层是指应用层的HTTP协议代理原理:4层代理:使用NAT(Network Address Translation)技术,即网络地址转换。即请求进来的时候,nginx只修改数据包里面的目标IP、源IP、端口,然后就直接把数据包发给目标服务器(即nginx不知道请求的具体内容),目标服务器处理完成后,发给nginx,nginx数据包再做一次类似的修改,就返回给请求的客户端了。,然后将具体内容(

weixin_45467975的博客 6342

nginx的4层和7层代理的区别(附OSI网络模型)

nginx的4层和7层代理的区别(附OSI网络模型)

weixin_42585386的博客 4188

7层负载均衡与4层负载均衡区别

先说结论: 4 层负载均衡本质是转发,而 7 层负载本质是内容交换和代理 一、OSI 7层模型与TCP/IP 4层模型 OSI: open system interconnection 开放式系统互联参考模型 OSI 7层模型 TCP/IP 4层模型 应用层 应用层 表示层 应用层 会话层 应用层 传输层 传输层 网络层 传输层 数据链路层 数据链路层 ...

菜鸟六十八@驿站 2万+

nginx的proxy_pass指令

nginx的proxy_pass在两个模块中都有:ngx_stream_proxy_module,ngx_http_proxy_module proxy_pass的功能就是做反向代理。 nginx1.9.0版本开始,开始支持ngx_stream_proxy_module模块,支持4层转发,但是nginx默认只安装了ngx_http_proxy_module。要想安装ngx_stream_pro...

weixin_30517001的博客 253

nginx代理转发及负载均衡和高可用

nginx代理 代理和负载均衡的区别 代理:负责把连接请求直接转发到后台某个web节点 负载均衡:负责把请求使用某种调度算法分散发布给后台所有web节点 环境 192.168.1.20 nginx1 192.168.1.22 web1 1.配置nginx代理服务器lb1 [root@nginx1 ~]# vim /etc/yum.repos.d/nginx.repo 添加: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/

hjyhjy0的博客 717

Nginx反向代理与负载均衡应用实践(二)

Nginx反向代理与负载均衡应用实践(二) 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App,操作更方便哦 根据URL中的目录地址实现代理转发 1.软硬件准备 1.1硬件准备 准备4台VM虚拟机(有物理服务器更佳),一台做负载均衡,三台做RS,如下表: HOSTNAME IP 说明...

weixin_30292745的博客 289
上一篇: 使用adb命令替换Android系统文件
下一篇: Nginx负载均衡
twenty-six
博客等级 码龄9年 33粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

twenty-six

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值