学无止境
欢迎关注我的公众号
接收定期更新文章
用 FRP 实现内网穿透:自建、安全、零成本的本地服务暴露方案
2026-01-08 11:06:04
1195

 

用 FRP 实现内网穿透:自建、安全、零成本的本地服务暴露方案

开发痛点: 调试支付回调时,由于第三方平台(如微信、支付宝)要求回调地址必须是公网可访问的 HTTPS 域名,开发者不得不将代码反复打包、部署到线上环境才能验证逻辑;同样,向他人演示或测试本地功能时,也需先发布到服务器。这种“修改 → 打包 → 发布 → 验证”的循环不仅繁琐低效,还严重拖慢开发节奏。

FRP版本: 0.65.0

1、下载 frp

  1. 1. 访问 GitHub Releases 页面
    https://github.com/fatedier/frp/releases

  2. 2. 下载服务端适合的压缩包(例如 frp_0.65.0_linux_amd64.tar.gz)

  3. 3. 下载客户端适合的压缩包(例如 frp_0.65.0_windows_amd64.zip)

2、配置 frps(服务端)

编辑 frps.toml 配置文件:

      
1
2
3
4
5
6
7
8

[common]
bind_port = 7000          # 服务端口
vhost_http_port = 8080    # HTTP 虚拟主机监听端口(可选)
vhost_https_port = 8443   # HTTPS 虚拟主机监听端口(可选)
dashboard_port = 7500     # Web 管理面板端口(可选)
dashboard_user = admin    # 管理面板用户名(可选)
dashboard_pwd = yourpassword  # 管理面板密码(可选)
token = 1234567QWERTYU0987LKJHGFF # 权限验证token

⚠️ 注意:token尽量复杂 && 妥善保存。

3、配置 frpc(客户端)

编辑 frpc.toml 配置文件:

      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

serverAddr = x.x.x.x # 服务器IP
serverPort = 7000    # 服务端端口
auth.method = "token"
auth.token = 1234567QWERTYU0987LKJHGFF # 权限token,确保跟服务端保持一致
 
[[proxies]]
name = pc
type = tcp
localIP = 127.0.0.1
localPort = 8081   # 客户端服务端口
remotePort = 6001  # 服务端转发端口
 
[[proxies]]
name = pc2
type = tcp
localIP = 127.0.0.1
localPort = 8082   # 客户端服务端口
remotePort = 6002  # 服务端转发端口

4、启动 frps 服务端

      
1
2
3
4
5
6

./frps -c ./frps.toml
 
# 成功启动
2026-01-05 09:48:51.767 [I] [frps/root.go:108] frps uses config file: frps.toml
2026-01-05 09:48:52.015 [I] [server/service.go:236] frps tcp listen on 0.0.0.0:7000
2026-01-05 09:48:52.015 [I] [frps/root.go:117] frps started successfully

5、启动 frps 客户端

      1./frpc -c ./frpc.toml

6、防火墙设置

开放服务端以下端口开放:

  • 7000(bind_port)

  • 7500(dashboard_port,可选)

  • 8080 / 8443(HTTP/HTTPS,可选)

7、访问管理面板(可选)

浏览器访问:

      1http://x.x.x.x:7500

输入 dashboard_userdashboard_pwd 登录。

8、测试效果

      
1
2

curl http://x.x.x.x:6001
#相应的结果就是内网http://127.0.0.1:8081的结果

                 

 


内网穿透
FRP教程
开发调试
零成本
欢迎关注我的公众号,获取更多文章