nginx四层转发,访问内网mysql数据库
nginx四层代理多用于端口代理,代理内网端口,用公网的服务器代理内网的如mysql 3306,ssh 22,redis 6607等,也即是常说的“跳板机”
前言
目前很多的企业将业务转移到云上,如果数据库服务器直接暴露在公网,存在被暴露的风险,云服务器上的mysql 3306端口基本不对外开放
我们如果想通过外网直接访问mysql
可以使用nginx端口转发来实现
步骤
一、未安装nginx的情况下(可参考:https://blog.csdn.net/whowhowhoisimportant/article/details/107500692)
1、首先安装nginx
./configure --prefix=/usr/local/nginx --with-stream && make && make install
这里必须要加上--with-stream ,四层转发主要是通过这个模块来实现的
2、这个配置要写在http外。nginx.conf配置如下:
#mysql stream { upstream mysql { server 2.2.2.2:3306 weight=1 max_fails=3 fail_timeout=10s; } server { listen 3307; proxy_pass mysql; proxy_timeout=600s; proxy_connect_timeout=30s; } } http { ... )
3、重启nginx
4、检查3307端口是否已经起来
5、连接mysql
mysql -uroot -p123456 -h1.1.1.1.1 -P3307 内网mysql服务器要先授权2.2.2.2的内网ip地址 1.1.1.1是nginx的外网ip
二、已经有安装过nginx,并在使用想要再添加stream模块
方案A:共用nginx
1、先使用nginx -V 查看之前的编译参数
2、用之前的编译参数加上--with-stream
./configure --prefix=/... --with-stream
3、然后执行 make
这里千万不要执行make install
到这里,我们先备份之前的nginx启动文件
cp /application/nginx/sbin/nginx(bak)
然后拷贝编译目录下的cp ./objs/nginx /application/nginx/sbin/nginx
这样就添加上了,然后使用nginx -V查看
方案B:不同路径再安装一个nginx
1、需要注意编译的时候要带新nginx的安装路径,如:原来装/usr/local/nginx。现在再装一个:/home/nginx
2、编译./configure --prefix=/home/nginx --with-stream && make && make install
3、如果安装完没报错,在/home/nginx目录下没有生成sbin目录,那么找到/home/nginx/objs/nginx这个就是可执行文件
4、最后,附上小编常用的命令
1 创建软连接:ln -s /usr/local/nginx/objs/nginx /usr/bin/nginx 2 启动:/usr/local/nginx/objs/nginx -c /usr/local/nginx/conf/nginx.conf 3 测试: /usr/local/nginx/objs/nginx -t 4 重启:/usr/local/nginx/objs/nginx -s reload
原文链接:https://blog.csdn.net/whowhowhoisimportant/article/details/115352255
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2010-11-12 jquery 无刷新登录—.net后台交互的问题
2010-11-12 学习网址