阿里云服务器装 frp 内网穿透,配置和常见报错怎么处理

手里有台内网机器,想让外面访问上面的网站、远程桌面或测试接口,但没有公网 IP,这是很多开发者都会碰到的情况。frp(Fast Reverse Proxy)是一个开源的反向代理工具,由服务端和客户端两部分组成。思路不复杂:在阿里云上租一台服务器做中转,内网设备主动连过去,外部请求经服务器转回内网,本地服务就能暴露到公网。

阿里云服务器装 frp 内网穿透,配置和常见报错怎么处理

这篇文章记录的是一个小团队的做法。某设计工作室的办公室里有一台 NAS 和一台开发机,设计师出差时要访问 NAS 上的素材库,开发人员也要让客户看到本地调试中的网站。之前他们用过临时的动态域名工具,经常掉线,延迟也高。换成阿里云轻量应用服务器加 frp 后,连接稳定了不少。下面按准备、服务端、客户端、安全和排错的顺序讲一遍,每一步都说明为什么这样配。

为什么用阿里云加 frp

内网穿透的方案不少,花生壳、ngrok、Cloudflare Tunnel 都有人用。frp 的好处是服务器自己掌握,流量从自己的机器走,不受第三方平台的套餐和限制影响。阿里云 ECS 或轻量应用服务器有固定公网 IP,安全组可以精确配置,带宽也能按需选择,适合当 frp 的服务端。

准备工作

  • 一台阿里云 ECS 或轻量应用服务器,系统选 CentOS 或 Ubuntu LTS 版本,相关资料多,排错时也好找
  • 如果要用域名访问 Web 服务,准备一个已完成备案的域名。服务器位于中国大陆时,备案是域名访问的前提
  • 内网里需要被穿透的设备,并确认它能正常联网
  • 从 frp 的 GitHub Release 页面下载最新稳定版,注意区分 x86_64 和 arm64 架构

阿里云安全组默认规则通常只放行 22 端口,frp 用到的端口要在控制台手动添加。这一步很容易漏,后面排错时往往就是它。

服务端部署

登录服务器后下载并解压 frp,服务端主要用到 frps 和 frps.toml 两个文件。下面是一份精简的服务端配置:

bindPort = 7000
auth.method = "token"
auth.token = "请替换为足够长的随机字符串"

webServer.addr = "127.0.0.1"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "请替换为强密码"

vhostHTTPPort = 80
vhostHTTPSPort = 443

bindPort 是客户端连接服务端的端口。token 用来校验身份,没有它,陌生设备就能随意接入,所以要用足够长的随机字符串,可以用 openssl rand -hex 32 生成。webServer 是管理面板,建议只监听 127.0.0.1,需要查看时通过 SSH 隧道连过去,不要直接暴露到公网。

配置写好后,先在前台运行 ./frps -c ./frps.toml 测试。没有报错再交给 systemd 设置开机自启,否则服务器一重启,穿透就断了,而且不容易第一时间发现。

客户端配置

在内网 NAS 上部署 frpc。下面的例子把 NAS 的 5000 端口映射到公网 6000 端口:

serverAddr = "你的阿里云公网IP"
serverPort = 7000
auth.method = "token"
auth.token = "与服务端保持一致的token"

[[proxies]]
name = "nas-web"
type = "tcp"
localIP = "192.168.1.100"
localPort = 5000
remotePort = 6000

serverPort 和 token 必须与服务端完全一致。配置好后,到阿里云安全组放行 6000 端口,就可以在外网访问 http://公网IP:6000 打开 NAS 管理界面。设计师的素材访问问题,就是这样解决的。

如果想用域名访问网站,可以改用 http 类型的代理,在服务端开启 vhostHTTPPort,再把域名解析到服务器 IP。这种方式只需放行 80 或 443,比给每个服务单独开随机端口省事,也更好管理。

安全加固

  • token 换成高强度随机字符串,怀疑泄露就立即更换,服务端和客户端要同时改
  • 管理面板不要对公网开放。确实需要远程访问时,套上 HTTPS 并限制来源 IP
  • 只映射用得到的端口。服务不用了,就删掉对应的 proxy 配置并重启 frpc
  • 穿透出去的服务自己也要设置登录验证,NAS 和网站都开启账号密码或二次验证,弱口令是最常见的入口
  • 关注 frp 官方发布页,有安全修复就尽快升级

穿透工具只负责把流量带进来,能不能挡住风险,还要看内网服务本身。设备一旦公网可达,弱口令和长期没打补丁的系统都会变成现成入口,所以安全策略要和穿透方案一起设计,别等上线之后再补。

常见报错怎么排查

客户端连接失败

先核对客户端的 serverPort 和服务端的 bindPort 是否一致,token 是否完全相同,连多余的空格都要检查。然后确认阿里云安全组放行了 7000 端口。在服务器上运行 ss -lntp,看 frps 是否真的在监听。

连上服务端,但访问不了内网服务

多数情况是 localIP 或 localPort 写错了,或者目标服务只监听了 127.0.0.1。到内网设备上用 netstat 或 ss 查看服务的实际监听地址,再在本机用 curl 测试一遍。本机都访问不通,frp 就没办法帮你从公网访问到它。

穿透一段时间后自动断开

先在客户端开启心跳配置,让连接定期保活。如果断线频率很有规律,可能是路由器或中间网络设备的 NAT 超时在作怪,这时可以缩短心跳间隔。另外用 systemd 守护 frpc 进程,断了能自动拉起。

访问速度慢

多数时候瓶颈在带宽。轻量服务器的带宽套餐要按实际流量估算,传视频或大文件的业务尤其要提前算清楚,否则内网再快也用不上。

用好这套方案,关键是三件事:服务端配置要收紧,端口放行要精确,内网服务本身要设防。做到这三点,个人开发者和小团队都能用不高的成本搭起自己的穿透通道。

赞 (0)
阿里云邮企业怎么用?先把域名解析和成员账号理顺
上一篇 2026年10月31日 下午9:18
阿里云支持工单怎么提,提交前先备齐这几项
下一篇 2026年10月31日 下午9:19

相关推荐

  • 阿里云服务器官网怎么选、怎么开通?控制台新手要注意的几步

    第一次找云服务器,很多人都是直接搜“阿里云服务器官网”。页面多,入口也多,刚接触的人常在产品页、价格页和文档之间来回切换,最后还是不确定该点哪里。这篇按实际操作的先后顺序,讲怎么看官网、怎么选配置,以及从下单到登录要注意什么。 先认清官网上的几个入口 官网首页内容很杂,日常真正会用到的入口其实不多。对个人开发者和小团队来说,下面四处基本够用: 产品页:看EC…

    2026年10月30日
  • 免费云服务器体验入口,哪些方案能真正零成本用

    第一次进云服务商的控制台,“实例”“公网IP”“安全组”这些词很容易让人打退堂鼓。不过如果你只是想学Linux、搭个人博客,或者把一个小项目放到公网上试试,免费云服务器体验确实是门槛不高的起点。先要弄清楚的,是免费额度到底是什么形式,以及哪些地方会悄悄产生费用。 免费额度通常是什么样子 免费云服务器体验,一般是服务商给新用户或特定活动发放的一段云主机使用额度…

    2026年10月30日
  • 腾讯云gpu云服务器在线选购,先看机型再算计费成本

    训练模型、部署推理服务或者做图形渲染,都离不开GPU。在腾讯云GPU云服务器在线选购时,控制台怎么点其实不难,让人犯难的往往是拿不准机型够不够用,计费方式划不划算。这篇按选购顺序走一遍,说明每一步看什么、为什么看,最后用一个具体场景把成本算清楚。 一、开始前先想清楚三件事 打开控制台之前,先把下面三个问题想明白。想不清楚就直接下单,后面多半要反复改配置,浪费…

    2026年10月31日
  • GPU云服务器免费用,哪些平台真能白嫖?

    很多人搜 gpu 云服务器免费,是想先找个地方把模型跑起来,确认想法可行再花钱。免费资源确实能完成模型微调、推理测试和课程实验,但额度有限,也可能随时中断。选对平台,并且按免费资源的脾气来安排任务,才能真正用得顺手。 免费GPU适合干什么 小规模训练、推理测试、课程作业和作品演示,都比较适合放在免费GPU上。如果任务要跑很多个小时,或者需要一直在线对外提供服…

    2026年10月31日
  • 云服务器软件测试怎么避开环境差异的坑

    应用搬到云服务器之后,代码没改,线上表现却变了:接口隔三差五超时,磁盘写满后服务悄无声息地挂掉,跨可用区的调用延迟忽然涨上去。这类问题很少出在代码逻辑上,多半是测试环境和真实运行环境不一样。所以云服务器上的软件测试得单独想办法,直接套用本地开发机上的那一套,很容易漏掉关键风险。 为什么云上测试要单独设计 云服务器的资源是弹性的,网络拓扑也比机房复杂,还要依赖…

    2026年10月30日
返回顶部