在家搭建了nextcloud 虽说有动态公网但开放还是有风险的,正好手上有服务器,搭建一下frp吧,刚好路由器也支持。

1.域名

首先设置好域名解析,将域名frp.xxx.xxx解析到服务器ip

2.下载安装

然后去官网下载对应的frp版本 frp官网

可以使用wget frp链接进行下载(建议先cd到想放的目录后再下载例如/usr/local)

然后使用 tar -zxvf xxxxxx.tar.gz 解压

修改文件夹名称为frp

cd 进入目录 编辑frps.ini此文件为服务端配置 客户端配置文件为frps.ini

[common]
bind_port = #frp服务器端口
dashboard_port = #后台控制页面端口
dashboard_user = #后台页面账号
dashboard_pwd = #后台页面密码
vhost_http_port = #外部访问http协议端口,可设置80,建议设置80以外端口
vhost_https_port = #外部访问https协议端口 建议使用http
token = #frp服务端密码(建议必须,建议复杂一点)
subdomain_host = #自己的域名 `注意手动解析的需要填写顶级域名`例如xxx.com,不要带前缀,这个折腾了我半天无语
authentication_timeout = #超时验证时间

修改好配置文件后使用如下命令后台运行

nohup ./frps -c ./frps.ini &

看到类似输出表示运行正常
Snipaste_2022-03-31_21-13-45.png

3.Padavan路由客户端配置

在路由设置界面找到frp选项 编辑配置看到如类配置酌情修改保存就好了

#客户端配置:
[common]
server_addr = #服务端对应的IP或域名
server_port = #服务端对应的端口
token = #服务端对应的身份秘钥

[web] 
type = #协议,tcp或http
local_ip = #本地要穿透的ip
local_port = #本地要穿透ip的端口
remote_port = #服务端对应的http端口,也可以不要这一条
subdomain = #你的域名前缀例如frp
host_header_rewrite = #你的主域名,只填顶级域名,例如xxx.xxx,不要前缀
use_compression = true #非必填,对传输内容进行压缩

打开 启用 frp 内网穿透 启用 frpc 客户端
然后点击保存就可以运行了
Snipaste_2022-03-31_21-25-09.png
打开域名加端口测试是否可以访问,然后在nginx添加反向代理,配置上ssl证书完美。:)