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