yaoyi

nginx反向代理mysql,(通过授权IP代理,便于客户端GUI管理)

背景:

大部分公司的运维层面都会对数据库做精细IP授权限制。这种授权的IP可能是某台特定的Linux服务器,然而我们有时候想通过GUI工具管理数据库,更加直观而且便于调试。

本文目标是假设数据库服务器 db01.internal.com 授权IP 10.0.0.1访问,其他客户端无权限连接。10.0.0.1是一台linux主机,只有命令行,且无root权限。整个过程中不需要root权限。

 

安装:

安装nginx,及nginx的tcp反向代理模块:

nginx下载:http://nginx.org/download/nginx-1.7.2.tar.gz
tcp代理插件:https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

cd nginx-1.7.2
#在nginx目录下给源码打补丁 patch -p1 < /home/jfy/soft/nginx_tcp_proxy_module-master/tcp.patch
#添加tcp代理模块 ./configure --prefix=/usr/local/nginx --add-module=../nginx_tcp_proxy_module-master

#正常编译,安装
make && make install

配置:
nginx.conf
tcp {
    server {
        listen 3306;
        proxy_pass db01.internal.com:3306 ;
        so_keepalive on;
        tcp_nodelay on;
    }
}

# tcp 位于配置文件最高层级(与http同级)

 sbin/nginx 启动nginx

 

客户端连接10.0.0.1:3306 即可连接到实际的db01.internal.com

 

mysql -h10.0.0.1 -P3306

posted on 2016-08-19 17:51  yaoyi  阅读(3826)  评论(0编辑  收藏  举报

导航