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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM