1、场景

mysql数据库在纯内网环境,无公网ip,无VPN。

2、方案

在一台具备公网ip,并且能与mysql服务在同一内网环境内的服务器,安装nginx,实现对mysql访问的路由转发。

3、nginx安装

nginx版本需要1.9及以上, nginx既实现http的反向代理,也支持TCP的反向代理。

1)nginx编译时,需要加入--with-stream这个参数,以加载ngx_stream_core_module模块

示例

./configure --prefix=/opt/software/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-stream_ssl_module --with-pcre=/usr/local/src/pcre-8.35

4、nginx配置文件nginx.conf

监听具备公网ip服务器的3307端口,实现跳转到172.31.88.27的3306端口。

特别注意:stream要与http在同级目录  

stream {
    upstream mysql3306 {
        hash $remote_addr consistent;
        server 172.31.88.27:3306 weight=5 max_fails=3 fail_timeout=30s;
    }
	
	 server {
        listen 3307;
        proxy_connect_timeout 10s;
        proxy_timeout 200s;
        proxy_pass mysql3306;
    }
}

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐