1.前言
我们的生产环境基本上都部署在云服务器上,例如应用服务器、MySQL服务器等。如果MySQL服务器直接暴露在公网,就会存在很大的风险,为了保证数据安全,MySQL服务器的端口是不对外开放的。
好巧不巧,线上业务遇到bug了,开发的小伙伴需要远程连接MySQL来查看数据,那应该怎么办呢?
我们可以通过Nginx代理(“跳板机”)来进行连接。
2.Nginx代理连接
要实现对连接的代理转发,我们需要一台服务器并安装Nginx,且与MySQL服务器处于一个内网之中,内网之间可以访问。
其次,我们需要用到ngx_stream_core_module
模块,该模块不是默认构建的,我们需要在configure时添加--with-stream
来进行构建。
添加过程可以参照【Nginx基本命令&不停机版本升级】一文进行,我们这里不再赘述。
既然要用到ngx_stream_core_module
模块,首当其冲,是看看其提供的指令,我们才知道怎么来进行配置。
1)stream
该指令定义了stream服务器。与http块平级,定义在main块中。
-
作用域:main
-
语法:stream {...}
示例:
stream {
server {
......
}
}
2)server
该指令定义一个虚拟主机,与http块中的