搭建frp及服务注册(服务端与客户端)

448 阅读2分钟

愿景:实现外网访问内网服务器

在前端圈子混了好几年,在大佬的种草下,买了一台树莓派4b 8g的设备,不知深浅的踏入了后端圈子

上周使用docker搭建了一个nuxt项目,想着如何使用外网能访问到自己的服务呢,一开始使用的花生壳,完成了内网穿透,能通过随机分配的域名,访问自己的服务;

后来了解到有开源的frp,何不试试,于是开始了各种踩坑,最终还是实现了,在此记录下自己的成长

(目前板子上插了一个SIM7600的4G全网通扩展,实现的项目后续会再发博文)

frp简介

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

安装环境

  1. 一台拥有公网IP的服务器(阿里云)作为服务端

  2. 一台树莓派作为客户端

  3. 系统与frp版本

    Server:amd64、frp_0.34.2_linux_amd64 Client:arm、frp_0.34.3_linux_arm

操作步骤

客户端​

1.解压包,把如下文件放置/etc/frp 目录下

2.修改frpc.ini文件

[common]
server_addr = xx.xx.xx.xx(公网ip)
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web1]
type = http
local_port = 5000
remote_port = 5000
custom_domains = xx.xx.xx.xx(公网ip或者域名)

3.把systemd文件夹下的frpc.service,放到/etc/systemd/system下

设置权限 sudo chmod 754 frp*.service
设置开机启动即可 sudo systemctl enable frp*.service

4.在/etc/frp目录下执行如下命令

cp frpc /usr/bin
chmod +x /usr/bin/frpc
systemctl start frpc
ps -ef|grep frpc

客户端结束

服务端

1.解压包,把如下文件放置/etc/frp 目录下

2.修改frps.ini文件

[common]

bind_port = 7000
vhost_http_port = 5000

3.把systemd文件夹下的frps.service,放到/etc/systemd/system下

设置权限 chmod 754 frp*.service
设置开机启动即可 systemctl enable frp*.service

4.在/etc/frp目录下执行如下命令

cp frps /usr/bin
chmod +x /usr/bin/frps
systemctl start frps
ps -ef|grep frps

到此,完成内网穿透及服务注册