通过nginx代理进行内网mysql的访问

本博客所有内容来源于网络、书籍、和各类手册。 内容均为非盈利,旨为方便查询、总结备份、开源分享。 部分转载内容均有注明出处,如有侵权请告知,马上删除。转载本文请附上本文链接,并注明转载!
本文链接: https://blog.csdn.net/u012998306/article/details/102482207

公网只暴露了一个默认端口,只好想办法访问数据库

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

stream {
    upstream cloudsocket {
       hash $remote_addr consistent;
       server x.x.x.x: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的访问。

猜你喜欢

转载自blog.csdn.net/u012998306/article/details/102482207