前言
最近领导画了张大饼,为了能吃上,也为了做事不留遗憾,一直在加班,每天加到晚上十一二点,真是身心疲惫。
思来想去不能这么搞,加班又没有工资,连调休都没有,天天这么玩命,拿这仨瓜两枣够干啥呀。
于是做了一个重大决定——在家加班……
可是公司服务器都在内网,没有公网IP,在家里连不上服务器和各种中间件怎么办?
那就得请出今天的主角了:github.com/fatedier/fr…
有了这款神器还不够,得再搭配一台云服务器,正好公司里有闲置的最低配的云服务器,那不得赶紧安排上。
配合docker,安装真的太简单了。
耐心看完,你一定会有所收获。
正文
⚠️ 本文需要一点点的docker基础,不多,真的只要一点点。
云服务器 frps(服务端)
云服务器需要提前安装好Docker~
配置
通过SSH工具连上服务器,找个位置创建frps
目录,再创建frps.toml
文件:
cd /home
mkdir frps && cd frps
vi frps.toml
将如下配置拷贝到 frps.toml
中:
bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "token123456"
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin_xYJyEs"
注意这里的 auth.token
在下文内网服务器的配置中会用到。
启动
配置文件创建完成后,通过Docker一行命令即可完成安装:
docker run -d --restart=always --name=frps \
-v /home/frps/frps.toml:/etc/frp/frps.toml \
snowdreamtech/frps:0.56.0
注意这里用的镜像名称是 frps
,即frp-server,可不能搞错。
启动成功后,切记要给云服务器的安全组开通7000
和7500
端口。
内网服务器 frpc(客户端)
内网服务器同样需要事先安装Docker,都2024年了,不会还有不用Docker的公司服务器吧 😁
配置
与云服务器相同的操作,找个位置创建 frpc.toml
配置文件,务必注意,这里是 frpc
,不是 frps
了。
cd /home
mkdir frpc && cd frpc
vi frpc.toml
拷贝忍者出动:
serverAddr = "xxx.xxx.xxx.xxx"
serverPort = 7000
auth.method = "token"
auth.token = "token123456"
webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin_TkdhtY"
webServer.pprofEnable = false
[[proxies]]
name = "oracle:1521"
type = "tcp"
localIP = "192.168.1.200"
localPort = 1521
remotePort = 1521
[[proxies]]
name = "redis:6379"
type = "tcp"
localIP = "192.168.1.11"
localPort = 6379
remotePort = 6051
[[proxies]]
name = "minio:9200"
type = "tcp"
localIP = "192.168.1.11"
localPort = 9200
remotePort = 6052
[[proxies]]
name = "minio:9201"
type = "tcp"
localIP = "192.168.1.11"
localPort = 9201
remotePort = 6053
[[proxies]]
name = "nacos:8848"
type = "tcp"
localIP = "192.168.1.11"
localPort = 8848
remotePort = 6054
这里有几项需要修改:
- serverAddr = "
xxx.xxx.xxx.xxx
": 请修改为云服务器的 ip - auth.token = "
token123456
": 修修改为服务端配置的 token
关于proxies的简单解释:
name
: 请保持唯一,不能重复type
: tcp/http/udp等多种类型都是支持的localIP
: 局域网ip,只要内网服务器能连上的ip都可以做穿透localPort
: 当然就是内网服务的端口remotePort
: 对应到云服务器的端口- 最终访问时便是通过
${serverAddr}:${remotePort}
进行访问 - 云服务要在安全组中开放端口
- 最终访问时便是通过
启动
还是只要一句Docker命令:
docker run -d --restart=always --name=frpc \
-v /home/frpc/frpc.toml:/etc/frp/frpc.toml \
snowdreamtech/frpc:0.56.0
启动成功后,一定再检查下云服务器中对应的端口是否开放,每个新的端口映射,都要去开放端口。
如果在云服务器上开通了7500
端口,那访问云服务器ip:7500
,也可以看到frp服务端的可视化面板,如下图:
结尾
内网穿透配置完成后,在项目中新建配置文件,把所有的服务都换成云服务器地址。
如此这般那般,终于可以愉快的在家加班了。
天选打工人。