frp服务器和客户端怎么配置?frp内网穿透详细配置教程

FRP的核心原理是通过公网服务器中转内网流量,实现内网穿透,配置关键在于正确设置frps服务端与frpc客户端的配置文件,确保端口映射与认证令牌一致。

FRP服务器与客户端配置实战指南

在数字化转型的浪潮中,许多企业和个人开发者都面临着将内网服务暴露给公网的需求,无论是远程桌面控制、内网Web服务发布,还是IoT设备的数据回传,FRP(Fast Reverse Proxy)凭借其高性能和易用性,成为了业内共识认为的首选工具之一,配置FRP并非复杂的代码编写,而是一场关于网络拓扑与端口管理的精密配合。

frp内网穿透最新实践教程 从零开始详细步骤
加载中
frp内网穿透最新实践教程 从零开始详细步骤

服务端(frps)环境部署

服务端是FRP架构的大脑,负责接收来自客户端的连接请求并转发数据,选择一台拥有公网IP的云服务器(如简米云、酷番云或AWS)作为服务端是基础前提。

下载与解压

访问FRP的官方GitHub仓库,根据服务器操作系统(Linux/Windows)和架构(amd64/arm64)下载对应版本,以Linux为例,执行以下命令:


wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
tar -xzvf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64
核心配置文件frps.ini

配置文件是服务端行为的定义书,创建一个名为frps.ini的文件,填入以下基础配置:


[common]
# 绑定端口,默认7000,建议修改为非标准端口以增加安全性
bind_port = 7000
# 绑定地址,0.0.0.0表示监听所有网卡
bind_addr = 0.0.0.0
# 身份验证令牌,必须与客户端保持一致
token = your_strong_password
# Dashboard监控面板端口
dashboard_port = 7500
# 监控面板用户名和密码
dashboard_user = admin
dashboard_pwd = admin_password

业内专家指出,设置强密码的token是防止未授权访问的第一道防线,切勿使用默认值或简单字符串。

启动服务端

使用nohup命令后台运行,确保服务在终端关闭后依然存活:

frp服务器和客户端怎么配置?frp内网穿透详细配置教程


nohup ./frps -c ./frps.ini > frps.log 2>&1 &

你可以通过浏览器访问http://<服务器IP>:7500,输入预设的用户名和密码,查看实时连接状态和流量统计。

客户端(frpc)内网穿透配置

客户端部署在内网机器上,它负责监听本地服务,并通过加密隧道将流量转发给服务端。

下载与解压

在需要穿透的内网机器上下载相同版本的FRP客户端,解压后进入目录。

核心配置文件frpc.ini

创建frpc.ini文件,配置内容如下:


[common]
# 服务端地址
server_addr = <你的公网服务器IP>
# 服务端端口
server_port = 7000
# 身份验证令牌,必须与服务端一致
token = your_strong_password

示例1:远程桌面(RDP)穿透

[rdp]type = tcplocal_ip = 127.0.0.1local_port = 3389remote_port = 6000

示例2:Web服务穿透

[web]type = httplocal_ip = 127.0.0.1local_port = 80custom_domains = <你的域名>

这里需要特别注意,remote_port是公网访问时使用的端口,而local_port是内网服务实际监听的端口,对于Web服务,推荐使用HTTP类型,并绑定自定义域名,这样可以利用FRP的HTTP路由功能,实现基于域名的多服务分发。

启动客户端

同样使用后台运行命令:


nohup ./frpc -c ./frpc.ini > frpc.log 2>&1 &

FRP服务器和客户端配置常见问题排查

在实际操作中,连接失败是最常见的问题,以下是几种典型场景的解决方案。

连接被拒绝或超时

如果客户端启动后日志显示连接失败,首先检查防火墙,云服务器厂商(如简米云安全组、酷番云安全组)默认会拦截非标准端口,务必在控制台放行bind_port(如7000)和dashboard_port(如7500)对应的入方向规则。

Token认证失败

日志中出现authentication failed

frp服务器和客户端怎么配置?frp内网穿透详细配置教程

错误,通常是因为frps.inifrpc.ini中的token字段不一致,请仔细比对,注意大小写和空格,建议将此字段设置为长随机字符串,避免使用特殊字符。

Web服务无法访问

对于HTTP类型的穿透,如果绑定域名后无法访问,需确保:

  1. 域名已解析到公网服务器IP。
  2. 服务器防火墙放行了80/443端口(如果使用默认HTTP端口)。
  3. frpc.ini中正确配置了custom_domains

FRP与Ngrok对比及选型建议

许多用户在开始时会纠结于选择FRP还是Ngrok,这两种工具各有优劣,适用于不同场景。

特性 FRP Ngrok
部署方式 需自建服务端,完全掌控 主要使用官方公共服务器,也可自建
安全性 高,数据完全私有 中等,使用公共服务器时数据经过第三方
成本 仅需服务器费用,无额外订阅费 免费额度有限,高级功能需付费订阅
稳定性 取决于自建服务器性能 官方服务稳定,但国内访问速度可能受限
适用人群 有服务器资源、注重隐私和长期稳定性的开发者 快速测试、临时分享、无服务器资源的用户

据工信部数据,近年来国内对数据安全的监管日益严格,自建FRP服务因其数据不经过第三方平台,成为企业内网穿透的主流选择,对于个人开发者而言,如果仅用于临时调试,Ngrok的便捷性无可替代;但若涉及生产环境或敏感数据,FRP是更稳妥的方案。

FRP服务器和客户端配置进阶优化

当基础配置完成后,可以通过以下优化提升体验。

使用HTTPS加密

frpc.ini的HTTP代理配置中,可以指定

frp服务器和客户端怎么配置?frp内网穿透详细配置教程

tls_enable = true,FRP会自动处理TLS握手,但这需要服务端配置SSL证书,或者使用支持SNI的域名解析。

多服务复用端口

通过HTTP类型的custom_domains,你可以在同一个remote_port(如80)下映射多个不同的内网服务,只需为每个服务绑定不同的域名即可,这大大节省了公网端口资源。

日志轮转与监控

建议配置日志轮转策略,避免日志文件无限增长占用磁盘空间,可以使用log_max_days参数限制日志保留天数,定期监控Dashboard的流量使用情况,及时发现异常连接。

Q&A:FRP服务器和客户端配置常见疑问

FRP支持UDP协议穿透吗?

支持,在frpc.ini中,将type设置为udp即可,穿透DNS服务或某些游戏服务器,配置方式与TCP类似,只需指定local_portremote_port,需要注意的是,UDP是无连接的,因此不适合需要保持长连接的场景,且防火墙对UDP的拦截策略可能与TCP不同,需单独检查。

FRP配置中local_port和remote_port有什么区别?

local_port是内网机器上实际运行服务的端口,例如你本地搭建的Web服务监听在8080端口,那么local_port就是8080。remote_port是公网访问时使用的端口,例如你希望公网用户通过http://<IP>:8080访问,那么remote_port就是8080,两者可以相同,也可以不同,取决于你的网络规划和端口占用情况。

FRP客户端掉线后如何自动重连?

FRP客户端默认支持断线重连,在frpc.ini中,server_portserver_addr保持不变的情况下,客户端会在后台尝试重新连接服务端,如果配置了start参数,可以指定启动时自动连接,对于生产环境,建议使用systemd或supervisor等进程管理工具托管frpc进程,确保服务在崩溃或重启后能自动拉起。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/473532.html

(0)
如何搭建股票数据仓库?股票数据仓库搭建步骤详解
上一篇 2026年7月8日 21:56
CDN加速原理是什么,CDN加速
下一篇 2026年7月8日 21:58

相关推荐

  • 服务器和客户端能同时发送数据吗?如何优化全双工通信

    服务器和客户端同时发送数据的核心在于采用全双工通信机制,通过独立的发送与接收缓冲区实现双向并发传输,从而消除传统半双工模式下的等待延迟,显著提升网络交互效率,在早期的网络通信模型中,数据传输往往像是一条单车道的山路,车来车往必须交替通行,这种半双工模式虽然简单,但在高并发场景下显得捉襟见肘,想象一下,如果客户端……

    2026年7月8日
    14200
  • 房间预订网站模板怎么制作?酒店预订系统源码下载

    选择房间预订网站模板时,核心在于平衡定制化需求与开发成本,建议优先采用响应式架构并集成主流支付接口,以确保移动端体验和交易安全,在2026年的数字营销环境中,一个高效的预订系统不再仅仅是展示房源的工具,而是直接驱动营收的核心引擎,对于酒店经营者、民宿房东或小型旅行社而言,搭建专属预订平台往往面临技术门槛高、维护……

    AI资讯 2026年7月6日
    17510
  • IT运维管理工具有哪些推荐,哪个性价比高?

    IT运维管理工具的选择没有绝对标准,关键在于根据企业IT规模、预算和运维场景,在开源与商业工具之间找到平衡点,同时兼顾自动化与可扩展性,IT运维管理工具哪个好用:功能与场景匹配是关键当你在GitHub或技术论坛搜索“IT运维管理工具哪个好用”时,会发现答案五花八门,没有一款工具能覆盖所有场景,因此选型的第一步是……

    2026年8月17日
    800
  • vLLM支持GPTQ量化吗?如何开启GPTQ量化加速

    vLLM通过集成GPTQ量化技术,在保持模型精度基本不变的前提下,显著降低了显存占用并提升了推理吞吐量,是目前在消费级显卡或低成本服务器上部署大语言模型的高效解决方案,在2026年的AI应用落地场景中,算力成本依然是制约大模型普及的核心瓶颈,许多开发者面临着一个现实困境:想要运行70B甚至更大的开源模型,却受限……

    2026年6月19日
    5900
  • 如何在IIS中配置本地域名并安装IIS,怎么设置?

    IIS本地配置域名和安装IIS的核心流程分三步:先安装IIS组件,再修改hosts文件完成域名解析,最后在IIS管理器中绑定域名,整个过程无需额外费用,使用Windows自带的IIS功能即可完成,安装IIS前的系统准备确认Windows版本和IIS版本对应关系不同Windows系统版本自带的IIS版本不同,功能……

    2026年8月8日
    600
  • IDS技术在网络安全中的应用有哪些?,如何激活成员?

    IDS技术(入侵检测系统)在网络安全中的应用早已不是“装个设备看告警”那么简单,真正的价值在于把检测能力嵌入到日常运营流程中,让每个告警、每条日志、每次响应都成为激活安全体系的关键动作,过去两年,不少企业买回IDS后三个月就沦为“沉默设备”,不是技术不行,而是没搞明白“在应用中激活成员”这句话的含义,本文从部署……

    2026年8月13日
    300
  • IIS发布ASP网站如何修改已绑定域名?,怎么设置?

    发布ASP网站到IIS服务,核心流程是启用ASP功能、创建站点并绑定域名、设置权限和默认文档;修改已绑定域名只需在IIS管理器的“绑定”中编辑或新增主机名,全程无需重新发布网站,环境准备:IIS服务安装与ASP功能启用在Windows Server或Windows 10/11专业版上部署ASP站点,第一步是安装……

    2026年8月14日
    300
  • 大模型问答领域微调怎么做?大模型微调需要多少数据

    大模型问答领域微调的核心在于通过高质量指令数据对基座模型进行针对性训练,使其在特定垂直场景下具备更精准的理解力、更专业的回答逻辑以及更符合业务规范的输出格式,而非简单地“喂”更多通用知识,在2026年的技术语境下,大模型微调早已脱离了早期“暴力刷数据”的粗放阶段,现在的企业级应用更关注如何让模型“懂行”且“守规……

    2026年6月17日
    2400
  • 如何用inputbox代码实现用户发送消息?,有哪些方法?

    inputbox 代码使用示例用于用户发送消息,是前端开发中实现即时通讯的基础模块,通过监听输入事件和按钮点击即可完成消息发送的核心逻辑,本文提供可复制运行的完整代码和多种场景的适配方案,inputbox 代码使用示例:用户发送消息的核心实现一个典型的inputbox用于用户发送消息,包含三个基本部分:输入框……

    2026年8月11日
    600
  • 华为OBS上传工具类有哪些选择,怎么用?

    华为OBS上传工具类,本质上是对华为云对象存储SDK的二次封装,旨在简化文件上传操作,让你快速集成对象存储能力,华为obs上传工具类怎么用:从零搭建你的客户端了解华为OBS SDK的基本配置使用工具类前,需要先配置好华为云OBS的访问凭证,你可以在华为云控制台创建访问密钥(AK/SK),同时获取Endpoint……

    2026年8月21日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注