前两天给部门做了个数据库的主备用于数据分析,但是后来运维不建议直连备份服务器的3306端口,然后就很尴尬了,然后他们就从程序开始入手,脚本处理binlog,导入导出and so on,从我个人角度来说,我是不喜欢这种方式极度曲线救国的方式的,然后我就没事测试了一下Nginx到tcp转发,当然也只能做个人的小实验了。
配置Nginx
Nginx的stream模块不仅支持TCP转发,也支持UDP,同时还可以通过socket转发,也是很强大的了。
配置文件配置如下
1 | stream { |
测试
我们通过1008
端口进行连接数据库尝试一下
1 | ➜ httpserver master ✗ mysql -uxxxx -pxxxxx -P1008 |
尝试ok
进阶
既然nginx可以进行tcp和udp的转发,那我是否可以代理shadowsock呢?
配置如下
1 | stream { |
最终,并没有尝试成功,后期有时间找朋友一起抓下包分析一下,暂时就先倒腾到这了