首页 > 数据库技术 > 详细

nginx转发mysql连接

时间:2019-08-15 16:26:48      阅读:131      评论:0      收藏:0      [点我收藏+]

场景:

访问UAT环境,只能使用客户电脑访问,太难用了,于是就需要在自己电脑上跑代码,通过客户电脑中转来访问uat环境的数据库。

选用nginx进行转发。配置如下:

stream {
    upstream cloudsocket {
       hash $remote_addr consistent;
       server 192.168.182.155:3306 weight=5 max_fails=3 fail_timeout=30s;
    }
    server {
       listen 3306;#数据库服务器监听端口
       proxy_connect_timeout 10s;
       proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
       proxy_pass cloudsocket;
    }
}

重启。

访问nginx所在机器的ip和配置的3306端口,输入账号密码,就可以转发mysql连接了。

注意 stream和http是同级别的,不要放入http里面。

原理,查了一顿,没整明白,以后有时间在研究。

只有一点点:

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

nginx转发mysql连接

原文:https://www.cnblogs.com/DreamFather/p/11358131.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!