腾讯云代理商:腾讯云内网穿透与公网访问设置

cloud 2026-06-02 阅读 2
cloud

     在日常的开发工作中,我们经常会遇到这样的场景:你在本地电脑上写好了一个网站或小程序的后台,想发给客户演示,或者想在手机上真机测试。然而,你的本地电脑藏在家里或公司的路由器后面,没有公网 IP,外网根本无法访问。

这时候,“内网穿透”就派上用场了。

很多新手会选择花生壳、Ngrok 等第三方现成工具,但免费的不仅限速、限流量,域名还很难听。其实,如果你手里有一台腾讯云服务器(轻量应用服务器或 CVM),完全可以利用开源神器 frp,花 5 分钟搭建一个专属于你自己的内网穿透服务。速度不受限,流量管饱,还能绑定你自己的域名。

今天这篇教程直接切入正题,手把手带你完成腾讯云服务端与本地客户端的配置,彻底打通公网访问。

核心原理:内网穿透在干什么?

动手之前,先用 10 秒钟搞懂原理,后面配置时就不会晕:
内网穿透本质上就是找个中间人传话

  • 服务端(frps): 运行在你拥有公网 IP 的腾讯云服务器上。它负责在公网监听外网用户的请求。
  • 客户端(frpc): 运行在你没有公网 IP 的本地电脑上。它会主动向腾讯云服务器发起连接,建立一条专属的“秘密管道”。

外网用户访问你的腾讯云服务器时,腾讯云会把请求顺着这条管道传给你的本地电脑,本地电脑处理完再原路返回。

第一阶段:腾讯云服务端配置(frps)

首先,我们要把腾讯云服务器配置成合格的“中间人”。这里以 Linux(Ubuntu/CentOS)系统为例。

1. 下载 frp 软件

  1. 连上你的腾讯云服务器,先去 GitHub 查看 frp 的最新版本。
  2. 运行以下命令下载 Linux 版本的 frp(根据你的服务器架构选择,一般是 amd64)

Bash


wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz

解压文件并进入目录:

Bash


tar -zxvf frp_0.60.0_linux_amd64.tar.gz
cd frp_0.60.0_linux_amd64

2. 修改配置文件 frps.toml

在服务端,我们只需要关注带有 s(Server)结尾的文件。使用 nanovi 修改 frps.toml

Bash


nano frps.toml

把里面的默认内容清空,修改为以下标准配置:

# frps.toml

bind_port = 7000          # 服务端与客户端通信的端口


# 如果你想通过网页查看穿透状态,可以配置面板(可选)

dashboard_port = 7500     # 控制台端口

dashboard_user = "admin"  # 控制台用户名

dashboard_pwd = "你的强密码"


# 安全验证(强烈建议加上,防止别人盗用你的服务器做穿透)

auth.method = "token"

auth.token = "自己编一个复杂的Token"

保存并退出。

3. 启动服务端

运行以下命令启动:

Bash


./frps -c frps.toml

看到屏幕上输出 frps started successfully,说明服务端已经就绪。

💡 后台防断小技巧: 直接这样运行,一旦关闭 SSH 窗口服务就断了。建议使用 nohup ./frps -c frps.toml >/dev/null 2>&1 & 把它丢进后台运行。

第二阶段:放行腾讯云安全组(新手最易踩坑点)

很多人配置完发现死活连不上,九成是因为腾讯云自带的防火墙/安全组把大门给锁了。frp 用到了好几个端口,必须去控制台手动放行。

  1. 登录 腾讯云控制台,进入你的云服务器管理页面。
  2. 在左侧菜单栏点击 防火墙(轻量应用服务器)或 安全组(CVM)。
  3. 点击 添加规则:端口: 填 7000(frp 通信端口),策略:允许。端口: 填 7500(面板端口,如果没配可以不加),策略:允许。端口: 填 80 或 8080 等(你想用来做外网访问网站的端口)。
  4. 点击确定保存。

第三阶段:本地客户端配置(frpc)

现在,我们要让藏在内网的本地电脑主动去“认亲”。根据你的本地电脑系统(Windows/Mac)去 frp 的 GitHub 下载对应的压缩包。这里以 Windows 电脑为例。

1. 准备文件

下载 Windows 版本的解压后,你会看到类似的文件。因为是客户端,我们只留下带有 c(Client)结尾的文件:frpc.exefrpc.toml

2. 修改本地配置文件 frpc.toml

用记事本或 VS Code 打开 frpc.toml,改成下面这样:

Ini, TOML


# frpc.toml
server_addr = "你的腾讯云服务器公网IP"
server_port = 7000

auth.method = "token"
auth.token = "必须和云端 frps.toml 里的 token 一模一样"

# 示例一:把本地的网站(比如本地 8080 端口)映射到公网
[[proxies]]
name = "my_local_website"
type = "tcp"
local_ip = "127.0.0.1"
local_port = 8080         # 你本地服务跑在哪个端口
remote_port = 8080        # 映射到腾讯云服务器的哪个端口

# 示例二:远程桌面映射(想在外网远程控制家里的 Windows 电脑)
[[proxies]]
name = "windows_remote_desktop"
type = "tcp"
local_ip = "127.0.0.1"
local_port = 3389         # Windows远程桌面默认端口
remote_port = 33890       # 外网访问的自定义端口(记得在腾讯云防火墙放行 33890)

3. 在本地启动客户端

在 Windows 电脑上,不要直接双击 frpc.exe!那样窗口会一闪而过。

  1. 在 frp 文件夹的空白处,按住键盘 Shift 键,同时点击鼠标右键,选择 在此处打开 PowerShell 窗口(或终端)。
  2. 输入以下命令并回车:PowerShell./frpc.exe -c frpc.toml
  3. 看到控制台输出 start proxy success,说明秘密管道正式打通!

第四阶段:测试公网访问

现在,见证奇迹的时刻到了。

如果你在本地电脑上用 Tomcat、Node.js 或者是 Python 跑了一个网站,端口是 8080
现在你随便拿一台能上网的手机,切断 Wi-Fi 使用蜂窝网络,在浏览器地址栏输入:

http://你的腾讯云服务器公网IP:8080

你会发现,手机上竟然直接打开了你本地电脑里的网页!此时,无论是微信小程序真机调试,还是给异地的客户展示代码,都能畅行无阻。

高级玩法:绑定域名与隐藏端口(告别丑陋的端口号)

每次访问都要在 IP 后面加个 :8080 这样的尾巴,不仅难看,而且很多公司的网络还会封禁非标准端口。我们希望能用 http://api.yourdomain.com 这种干净的域名直接访问。

最佳实践是在腾讯云服务器上加一层 Nginx 反向代理

  1. 把你域名的解析记录(比如 *.yourdomain.com 泛解析)指向你的腾讯云服务器 IP。
  2. 在腾讯云服务器上安装 Nginx。
  3. 修改 Nginx 配置,把来自 80 端口(标准标准网页端口)的域名请求,转发给 frp 的映射端口:

  1. 重启 Nginx:sudo systemctl restart nginx。

这样配置后,腾讯云的防火墙只需要放行 7000(frp 用)和 80(Nginx 用),外网访问直接输入域名就行,连 :8080 都省了,安全且优雅。

总结与避坑口诀

用腾讯云搭建内网穿透是一项非常实用且高性价比的技术。最后总结成四句口诀,遇到问题对照排查:

  1. 两端版本要一致: 腾讯云和本地电脑的 frp 版本号最好完全相同,否则容易莫名断连。
  2. 安全防护不能忘: 必须在配置文件里加 token,不然你的服务器分分钟被坏人当成免费的穿透跳板。
  3. 云端端口要放行: 只要加了新的 remote_port,第一时间去腾讯云控制台的“防火墙”开门。
  4. 后台运行用 nohup: 服务端运行记得加 nohup 或配置成 systemd 服务,确保 SSH 断开后内网穿透依然在线。
1
← 返回新闻中心