安装
- 访问 frp-release 下载指定平台的版本
- 解压
tar -xzf abc.tar.gz
1 2 3 4 5 6
| wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_amd64.tar.gz
tar -xzf frp_0.58.0_linux_amd64.tar.gz
|
使用
服务端
配置
启动服务端/path/to/frps -c /path/to/frps.toml
1 2 3 4 5 6 7
| bindPort = 7000
vhostHTTPPort = 8080
auth.token = xxx log.to = "./frps.log"
|
使用Systemd启动
- 编辑服务文件
sudo vim /etc/systemd/system/frps.service
1 2 3 4 5 6 7 8 9 10 11 12 13
| [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target
[Service] Type = simple # 启动frps的命令,需修改为您的frps的安装路径 ExecStart = /path/to/frps -c /path/to/frps.toml
[Install] WantedBy = multi-user.target
|
- 设置开机启动
sudo systemctl enable frps - 管理frps服务
sudo systemclt start frps
反向代理
使用nginx配置将指定域名的访问转到frps监听的端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| upstream frps{ server 127.0.0.1:8080; } server{ listen 80; server_name *.your.domain; location / { proxy_pass http://frps; proxy_pass_header Server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 60s; } }
|
客户端
HTTP服务器配置
启动客户端 /path/to/frpc -c /path/to/frpc.toml
1 2 3 4 5 6 7 8 9 10 11 12
| auth.token = xxx log.to = "./frpc.log" [[proxies]] name = "web2" type = "http" localPort = 80
customDomains = ["abc.your.domain"]
hostHeaderRewrite = "abc.local"
|
参考文档
- frp官方文档
- frp-gihub