乐于分享
好东西不私藏

FRP内网穿透完整搭建与使用文档

FRP内网穿透完整搭建与使用文档

FRP内网穿透完整搭建与使用文档(实战版)

适用场景:本地电脑无公网IP → 通过公网VPS服务器 → 让外网访问本地Web项目当前状态:你的服务端(43.142.181.41)已配置完成,可直接进行客户端操作


一、环境确认与准备工作

1.1 你已有的资源

项目 参数 来源/说明
公网VPS服务器IP 43.142.181.41 已购买并运行FRP服务端
FRP服务端版本 v0.67.0 与你客户端需保持一致
服务端连接端口 7000 客户端连接用(已放行)
HTTP访问端口 28080 外网访问Web的端口
管理后台地址 http://43.142.181.41:7500 账号/密码:admin/xxx
身份验证Token 123456(或服务端实际设置值) 客户端连接必须匹配

1.2 你需要准备的

  • 本地电脑:Windows/Mac/Linux,已运行需要穿透的Web项目(如Vue/React/Flask等)

  • 浏览器:用于验证本地服务与外网访问

  • 文本编辑器:修改配置文件


二、客户端配置与启动(本地电脑操作)

2.1 下载FRP客户端

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

  2. 选择版本:务必找到 v0.67.0(必须与服务端完全一致)

  3. 下载对应系统压缩包

    • Windows:frp_0.67.0_windows_amd64.zip

    • Mac:frp_0.67.0_darwin_amd64.tar.gz

    • Linux:frp_0.67.0_linux_amd64.tar.gz

  4. 解压 到你喜欢的目录(路径不要含中文)。

2.2 编写客户端配置文件 frpc.toml

  1. 在解压目录中找到 frpc.toml 文件(如果没有则新建)。

  2. 使用记事本/VSCode等打开,删除所有默认内容,粘贴以下配置:

toml

# 服务端配置(必填)
serverAddr = "43.142.181.41"      # 你的VPS公网IP
serverPort = 7000                 # 服务端bindPort
auth.token = "123456"            # 必须与服务端frps.toml中的token一致!

# Web项目代理配置(HTTP类型)
[[proxies]]
name = "my-web-project"          # 自定义名称,勿重复
type = "http"                   # Web服务用http
localIP = "127.0.0.1"           # 本地服务地址
localPort = 8080               # ⚠️ 修改为你的本地项目实际端口!
customDomains = ["43.142.181.41"] # 直接用IP访问

# (可选)如果要用域名,改为customDomains = ["www.yourdomain.com"]

⚠️ 特别注意

  • auth.token:必须与你服务端 frps.toml 中设置的 token 完全一致。你当前服务端若未修改,默认可能是 123456

  • localPort必须修改为你本地项目正在运行的端口号(如3000、5000、80等),不是8080就一定成功

  • customDomains:直接使用IP访问时,就填服务端IP。

2.3 启动FRP客户端

Windows系统

  1. 在 frpc.exe 所在文件夹,地址栏输入 cmd 回车

  2. 输入命令并回车:

    cmd

    frpc.exe -c frpc.toml
  3. 成功标志:出现 login to server success 和 start proxy success

Mac/Linux系统

bash

./frpc -c frpc.toml

保持命令行窗口不关闭,关闭即断开穿透。


三、验证与访问测试

3.1 本地自检(必须通过)

在你本地电脑浏览器访问:

text

http://localhost:8080   (将8080替换为你项目的实际端口)

✅ 必须能正常打开你的项目页面。若打不开,FRP映射必然失败,请先排查本地服务。

3.2 外网访问测试

在其他网络环境(如手机流量)的浏览器访问:

text

http://43.142.181.41:28080

✅ 成功:显示与本地访问完全一致的项目页面。❌ 失败:请按下一章“常见问题排查”逐步检查。


四、常见问题排查(按概率排序)

现象 可能原因 解决方案
客户端报错 token doesn't match 客户端auth.token与服务端实际token不一致 1. 登录VPS,执行 cat /path/to/frps.toml | grep token 2. 将查到的真实token填入客户端配置文件
外网访问 无法连接/超时 VPS防火墙未放行 28080端口(90%的案例) 登录云服务商控制台 → 安全组/防火墙 → 添加入方向TCP:28080,来源0.0.0.0/0
外网访问 404/502 1. 本地服务未运行 2. 客户端localPort写错 3. 本地服务绑定非127.0.0.1 1. 确认 http://localhost:端口 能打开 2. 检查配置文件端口 3. 部分框架需监听 0.0.0.0
客户端启动报错 connect: connection refused 1. VPS的7000端口未放行 2. 服务端未运行 1. 检查VPS安全组是否放行TCP 7000 2. VPS上执行 systemctl status frps 检查服务状态
访问管理后台 http://IP:7500 但无法登录 1. 7500端口未放行 2. 账号密码错误 1. VPS安全组放行TCP 7500 2. 检查服务端frps.toml中的webServer.user/password

五、进阶配置与管理

5.1 将FRP客户端注册为Windows服务(后台运行)

避免每次手动启动命令行,推荐使用 winsw 工具将 frpc 注册为Windows服务,设置开机自启。

5.2 绑定自己的域名

  1. 购买域名(如 example.com)。

  2. 在域名DNS控制台添加 A记录,指向你的VPS IP 43.142.181.41

  3. 修改 frpc.toml

    toml

    customDomains = ["www.example.com"]   # 改为你的域名
  4. 访问时使用:http://www.example.com:28080

5.3 配置HTTPS加密访问

  1. 在服务端 frps.toml 中启用 vhostHTTPSPort

  2. 客户端配置 type = "https" 并配置证书路径。(具体步骤较复杂,建议先跑通HTTP)


六、总结流程图

你现在正处于“B→C”连接成功的阶段,重点解决“C→D→E”的访问链路问题(通常是VPS防火墙未放行28080端口)。

如有其他卡点,请提供:

  1. 客户端命令行窗口的完整日志截图

  2. VPS安全组/防火墙规则截图

  3. 本地访问 http://localhost:端口 的截图

根据实际进度调整即可。

参考地址:https://blog.lcayun.com/2752.html
b站地址:
https://www.bilibili.com/video/BV112sze3ERj?spm_id_from=333.788.recommend_more_video.-1&trackid=web_related_0.router-related-2481894-ksftd.1770875498609.251&vd_source=14facbf745bea163222b6d9a311cd2e0
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » FRP内网穿透完整搭建与使用文档

评论 抢沙发

9 + 1 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮