nginx -stream(tcp连接)反向代理配置 实现代理mysql以及文件上传

如何用 Nginx 代理 MySQL 连接,并限制可访问 IP? 我们的生产环境基本上都部署在云服务器上,例如应用服务器、MySQL服务器等。如果MySQL服务器直接暴露在公网,就会存在很大的风险,为了保证数据安全,MySQL服务器的端口是不对外开放的。好巧不巧,线上业务遇到bug了,开发的小伙伴需要远程连接MySQL来查看数据,那应该怎么办呢?我们可以通过Nginx代理(“跳板机”)来进行连接。 阅读详情
1. stream模块安装

nginx默认安装的时候无法加载流stream模块,需要在启动参数里加上–with-stream。

解决方法:
重新对源文件进行编译、安装,通过添加–with-stream参数指定安装stream模块。
nginx安装教程

[root@localhost nginx-1.12.2]# ./configure --with-stream
[root@localhost nginx-1.12.2]# make & make install

configure命令设定安装参数

# 常用模块配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-stream  \
--with-http_ssl_module
2.配置文件 nginx.conf

stream模块位于与http模块相同的层次
示例:

stream {
    upstream backend {
        server 202.118.163.18:3306;
    }
 
    upstream landm {
        server 202.118.163.18:8092;
    }
 
    upstream nginxCon {
        server 202.118.166.247:22;
    }
 
    upstream stu.neau.actim.top {
        server 202.118.163.18:80;
        server 202.118.167.86:9004;
        server 202.118.167.86:9003;
        server 202.118.167.86:9002;
        server 202.118.167.86:9001;
     }
 
    server {
        listen 8088;
        proxy_connect_timeout 8s;
        proxy_timeout 24h;   #¿¿¿¿
        proxy_pass backend;
    }
 
    server {
        listen 8082;
        proxy_connect_timeout 8s;
        proxy_timeout 24h;   #¿¿¿¿
        proxy_pass landm;
    }
 
    server {
        listen 8686;
        proxy_connect_timeout 8s;
        proxy_timeout 24h;   #¿¿¿¿
        proxy_pass nginxCon;
    }
 
    server {
        listen 8093;
        proxy_connect_timeout 8s;
        proxy_timeout 24h;   #¿¿¿¿
        proxy_pass stu.neau.actim.top;
    }
}
3. 代理mysql、文件下载等tcp连接

stream在使用上与http相近,只需配置upstream然后再配置server即可,参考上面的配置,
代理mysql只需用反向代理服务器的一个端口去代理数据库服务器(集群)的端口即可,文件下载亦然


参考文章:
Nginx1.14.2新增tcp/udp代理stream(详细)

nginx代理tcp协议连接mysql

ssl模块安装(https)
Nginx反向代理+负载均衡简单实现(https方式)
https://blog.youkuaiyun.com/Activity_Time/article/details/95770900

使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡 阅读详情

相关推荐

linux 利用nginx 的stream模块实现内网端口的转发代理

Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。在 1.9.0 版本开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等,Nginx 已经支持端口转发,编译的时候需要stream 这个模块支持,同时支持 TCP/UDP 端口转发。 1、编译过程中需带上–with-stream 首先nginx安装完后执行 nginx -V 命令查看 nginx 信息,是否有 --with-stream 这个模块 具体安装查看 Nginx源码.

Bertram的博客 3368

Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)

前奏 我们都知道 nginx 是一款优秀的反向代理服务,用过 nginx 的也应该都知道 upstream,upstream 节点一般置于 http 节点大括号中,常规在 upstream 中配置需要被负载均衡的服务器列表。 比较多的使用做如下示意: #user nobody nobody。 #worker_processes 2; #pid /nginx/pid/nginx.pid; error_log log/error.log debug; events { …… } http { …

小单的博客专栏 7730

Chatbox使用指南

Chatbox使用指南

weixin_65289420的博客 2万+

使用 NGINX 作为 HTTPS 正向代理服务器

这里写目录标题1. 使用 NGINX 作为 HTTPS 正向代理服务器1.1. HTTP/HTTPS 正向代理的分类1.2. 为什么正向代理处理 HTTPS 流量需要特殊处理?1.3. NGINX 的解决方案1.3.1. HTTP CONNECT 隧道 (7 层解决方案)1.3.1.1. 历史背景1.3.1.2. NGINX ngx_http_proxy_connect_module 模块1.3.1.3. 环境搭建1.3.1.4. 使用场景1.3.2. NGINX stream (4 层解决方案)1.3.2

云满笔记 6187

C#实战:5分钟搞定西门子S7-1200 PLC数据读写(S7netplus保姆级教程)

本文详细介绍了如何使用C#和S7netplus库快速实现与西门子S7-1200 PLC的数据读写。从环境准备、连接管理到数据读写高级技巧,提供了保姆级教程和实战方案,帮助开发者绕过常见陷阱,提升工业自动化项目的开发效率。

weixin_28432777的博客 283

ArcGIS实战:手把手教你用DEM和灾害点数据,5步搞定地质灾害风险区划图

本文详细介绍了使用ArcGIS进行地质灾害风险评估的完整流程,从DEM和灾害点数据出发,通过五步标准化操作生成专业风险区划图。重点讲解了信息量模型的应用,帮助读者掌握GIS技术在地质灾害易发性评价中的实践方法,提升风险评估效率与准确性。

weixin_30696427的博客 426

nginx配置stream模块

nginx配置stream模块

MAX_VALUE的博客 7600

Python爬虫实战:逆向工程与异步处理攻克Pinterest无限滚动瀑布流

我们将从零开始,逐步分析其数据接口,构建一个功能完整的爬虫,并深入探讨反爬虫策略的应对、性能优化以及数据存储等高级主题。: 在实际爬取中,你需要先访问一次Pinterest主页,获取初始的Cookie和CSRF Token,然后再发起API请求。: Python爬虫,Pinterest,无限滚动,瀑布流,异步IO,httpx,逆向工程,API接口,动态内容,反爬虫。你会很快发现一些关键的请求模式。:页面初始加载有限内容,随着用户滚动,新的图片块通过AJAX动态加载,实现“永无止境”的浏览。

2201_76125261的博客 551

nginx 添加stream模块支持tcp、sftp代理

1 备份原有配置 先到原nginx目录下备份nginx.conf 相关文件,如果是引用的外部配置文件,则忽略这一步 2 复制nginx正在使用的模块 进入nginx下sbin目录,执行 ./nginx -V 查看当前nginx安装信息,configure arguments后是当前nginx正在使用的模块,复制这个值 cd /usr/local/nginx/sbin/ ./nginx -V 3 执行./configure,追加 --with-stream 重新下载nginx安装包,放到local下,解

Java进阶之路 1万+

YOLOv9改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 1365

26. Fabric2.2 司法存证的智能合约分析

有很多同学反馈 Fabric 智能合约读起来比较费劲,对于新手不友好看不懂,这里选择一个司法存证的智能合约,阅读、分析智能合约基础框架与核心流程代码,培养大家智能合约编写的方法论。

菜鸟的博客 1339

nginx 通过域名代理tcp端口

碰到一种场景,使用nginx进行反向代理tcp端口,网上大部门的设置都是一个端口代理一个端口,没有一个端口通过域名代理后端多个端口的情况。 在sf上面看到一个设置教程,记录下 只需要修改nginx.conf,添加如下配置即可, stream { map $ssl_preread_server_name $name { mysql.test.com mysql; redis.test.com redis; default https_default_ba

第一天 1万+

【Python】秋招机考 —— 2025/8/27 华为 AI 方向

2025 华为 AI 秋招机考题目包含15道单选题、5道多选题和2道机器学习编程题,涵盖核心算法与数学知识。单选题考察了Softmax激活、Transformer位置编码、Jacobi迭代、大模型幻觉现象、特征向量、K-means聚类、矩阵秩、实对称矩阵性质、SVD分解、概率论等知识点。多选题涉及高斯-赛德尔迭代和朴素贝叶斯分类器。

一杯水果茶!足矣~ 840

Nginx 反向代理MySQL的配置

_ 本篇文章介绍的是通过Nginx官方ngx_stream_core_module模块实现的tcp反向代理到 MySQL,配置前请确保nginx的版本在1.9.0以上_ 本次配置是基于 fedora25 系统搭建,实践中请根据具体环境进行操作 安装nginx >> dn...

cigaogu2521的博客 1687

8-阿里云服务器 ECS配置R及Studio Server

步骤概览:(首先要明确自己的系统然后进行安装)

hx2024的博客 1572

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

分布式 - 服务器Nginx:一小时入门系列之TCP反向代理和负载均衡

http块用于配置 HTTP 服务器,包括监听端口、虚拟主机、反向代理、负载均衡、缓存等功能。TCP反向代理是指Nginx作为TCP服务器的代理服务器,接收客户端的TCP连接请求,然后将请求转发给后端的TCP服务器,最后将TCP服务器的响应返回给客户端。/etc/nginx/conf.d 目录是包含在 http 块中的,所以TCP负载均衡不能再配置在 /etc/nginx/conf.d 目录下的配置文件中了,需要和在 nginx.conf 中配置,并且和 http 块同级。

你今天真好看呀 3426

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

nginx反向代理tcp

nginx除了代理http协议外,从1.9.0版本开始新增了tcp协议的代理。 代理tcp协议准备工作 代理tcp需要使用stream模块(ngx_stream_core_module),默认configure不包含该模块,需要在configure的时候加上–with-stream 代理tcp的基本配置 官网示例 worker_processes auto; error_log /var/log/nginx/error.log info; events { worker_connection.

jjt_zaj的博客 5627

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Nginx 代理 MySQL 实现通过域名连接数据库

Nginx 代理 MySQL 实现通过域名连接数据库

心若有所向往,何惧道阻且长。 4929

Nginx 反向代理 Oracle Mysql 的场景

场景:访问UAT环境,只能使用客户电脑访问,太难用了,于是就需要在自己电脑上跑代码,通过客户电脑中转来访问uat环境的数据库。选用nginx进行转发。配置如下:stream {server {#数据库服务器监听端口#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。重启。访问nginx所在机器的ip和配置的3306端口,输入账号密码,就可以转发mysql连接了。注意 stream和http是同级别的,不要放入http里面。

jnrjian的博客 4048

Nginx转发代理请求(http)+转发mysql(stream)

指定了 Nginx 服务器监听的端口号为 xxxx。这意味着该服务器块将处理发送到本地主机(localhost)的端口 xxxx的所有传入 HTTP 请求。系统重装,导致之前的minio没了,新的minio迁移到了一个容量大的服务器,为了不更改太多之前的项目,直接用Nginx将请求之前minio的请求转发到新的服务器。这个地址指定了请求应该转发到的后端服务器的地址。综上所述,这个配置将监听在端口 xxxx上,当客户端请求的 URI 以 /upload 开头时,将请求转发到了后端服务器 xxx:xxx上。

LB_bei的博客 4560

现在使用Nginx实现TCP反向代理

Nginx 在1.9.0版本发布以前如果要想做到基于TCP的代理及负载均衡需要通过打名为nginx_tcp_proxy_module的第三方patch来实现,该模块的代码托管在github上网址:https://github.com/yaoweibin/nginx_tcp_proxy_module/。 Nginx 从1.9.0开始发布ngx_stream_core_module模块,该模块支...

微信公众号:大数据从业者 1673

Nginx Stream 模块:高效的 TCP、UDP 负载均衡与代理

Nginx 的 Stream 模块是一个强大的功能,可以让 Nginx 处理 TCP 和 UDP 流量,并提供负载均衡和反向代理服务。通过使用 Stream 模块,Nginx 可以不仅限于 HTTP 请求的负载均衡,还能扩展到各种基于 TCP 和 UDP 的应用场景。常见的应用包括数据库代理、DNS 负载均衡、邮件代理等。本文将深入介绍 Nginx Stream 模块的基本功能、配置方法,并给出实际应用场景的示例,帮助你理解和实现 TCP/UDP 流量的负载均衡与代理。

学而时习之,不亦说乎?温故而知新,可以为师矣! 2210

nginx stream

#stream模块,就跟http模块一样 stream { #日志记录模块 log_format basic '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time'; access_log /var/log/nginx/access.log basic buffer=32k; upstre...

yonghutwo的专栏 2183

nginx tcp端口转发_使用Nginx进行TCP/UDP端口转发

Nginx 配置TCP/UDP端口转发nginx 的功能非常强大,其中作为代理服务器是非常常用的功能,但是之前的nginx代理只能做七层代理,也就说是基于应用层面的代理,TCP层面的代理一般会配合haproxy 来使用。但是自从nginx 1.9 以后通过stream模块实现了tcp 代理功能,无需其他软件配合即可实现四层代理和七层代理,即:访问该服务器的指定端口,nginx就可以充当端口转发的作...

weixin_39627481的博客 4685

nginx 反向代理 tcp

nginx反向代理mysql 发表于2017-11-27 nginx反向代理mysql 公司有一个公网ip,那台服务器上装的nginx, mysql装在公司另外一台服务器上假设ip为 192.168.17.131,我想利用公网ip的3308端口去访问内网电脑上mysql,就可以利用nginx 进行代理。 nginx1.9及以上才可以支持tcp协议 在nginx安装路径/nginx-1.9.0/conf 目录下 nginx.conf 文件添加如下代码, 注意下面http中的配置: incl..

zb313982521的博客 388

Nginx-day3_Nginx反向代理、HTTP调度(7层)、TCP/UDP调度(4层),Nginx优化、HTTP错误代码、状态页面、压力测试

HTTP常见状态码列表:200 正常301 & 302 重定向400 请求语法错误401 访问被拒绝403 禁止访问404 资源找不到414 请求URI头部太长500 服务器内部错误502 代理服务器无法正常获取下一个服务器正常的应答1)优化前,客户端使用浏览器访问不存在的页面192.168.99.5/xxxxxxx,会提示404文件未找到2)修改Nginx配置文件,自定义报错页面。

weixin_55702707的博客 1407
上一篇: linux防火墙 开放端口配置
下一篇: Nginx如果未开启SSL模块,配置Https时提示错误
ACTIM__
博客等级 码龄9年 35粉丝 105原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值