背景
以往使用frp的场景都是为了内网穿透,从而实现从公网访问内网的各种服务,解决公网服务器性能不足的问题。
现在我有一部分服务放在公网服务器上,一是因为不想浪费公网服务器的资源,二是减少延迟。所以我就想将MySQL部署到公网服务器,然后内网进行复制,保证速度的同时也能够有备份。
备份数据库的话就需要从库(即本地内网)能够访问公网服务器,但是我又不想新增一个端口的防火墙,因为怕数据不安全或者数据库遭攻击。所以才有题述的需求。
如何实现
一句话,使用stcp,参考链接,此文章中是方便两个内网的服务器之间进行有限的访问,只要把公网服务器也当作一个客户端即可。
这样想就简单了,公网服务器的frps作为通道,连接两个frpc客户端。
所以公网服务器要启动一个frpc客户端,并配置:
serverAddr = "127.0.0.1" # 这里直接连接本地的frps就行
serverPort = 7000[[proxies]]
name = "mysql-master"
type = "stcp"
secretKey = "密码跟要访问者一致"
localIP = "127.0.0.1"
localPort = 3306
内网服务器配置:
[[visitors]] # 注意是visitors
name = "mysql-slave-visitor"
type = "stcp"
serverName = "mysql-master" # 必须与对端的 name 一致
secretKey = "密码也要一致"
# 绑定本地端口来访问远程服务
bindAddr = "0.0.0.0"
bindPort = 33061
重启两个客户端,这样就可以在内网通过 127.0.0.1:33061来访问到公网服务器了。
原文链接:https://blog.dengwei.site/article/post-48898657
