news 2026/4/23 5:54:30

如何通过内网穿透实现外部网络对 SpringBoot 接口的 HTTP 监听和调试?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何通过内网穿透实现外部网络对 SpringBoot 接口的 HTTP 监听和调试?

来源:blog.csdn.net/ks_wyf/article/details/132559479

👉 欢迎加入小哈的星球,你将获得:专属的项目实战(多个项目) / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《Spring AI 项目实战》正在更新中..., 基于 Spring AI + Spring Boot 3.x + JDK 21;

  • 《从零手撸:仿小红书(微服务架构)》 已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17..., 点击查看项目介绍;演示地址:http://116.62.199.48:7070/

  • 《从零手撸:前后端分离博客项目(全栈开发)》2期已完结,演示链接:http://116.62.199.48/;

  • 专栏阅读地址:https://www.quanxiaoha.com/column

截止目前,累计输出 100w+ 字,讲解图 4013+ 张,还在持续爆肝中..后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,戳我加入学习,解锁全部项目,已有4100+小伙伴加入

  • 前言

    • 1.本地环境搭建

    • 2.内网穿透

    • 3.固定公网地址

    • 4.Cpolar监听器


前言

前后端分离项目中,在调用接口调试时候,我们可以通过cpolar内网穿透将本地服务端接口模拟公共网络环境远程调用调试,本次教程我们以Java服务端接口为例。

1. 本地环境搭建

1.1 环境参数
  • JDK1.8

  • IDEA

  • SpringBoot

  • Maven

  • Tomcat9.0

  • Postman

1.2 搭建springboot服务项目

搭建一个springboot服务的项目,编写一个接口,为了更好直观看到,这里创建一个pos请求的接口

@RestController @RequestMapping("/test") public class InterfaceTest { /** * 测试接口 * @param data * @return Map<String,String> */ @PostMapping("/interTest") public Map<String,String>interTest(@RequestBody Map<String,String> data){ System.out.println(data); if (data.size()>0){ return data; } data.put("code","404"); return data; } }

2. 内网穿透

这里我们使用cpolar来进行内网穿透,支持http/https/tcp协议,不限制流量,无需公网IP,也不用设置路由器,使用简单。

2.1 安装配置cpolar内网穿透

cpolar官网:

  • https://www.cpolar.com/

2.1.1 windows系统

进入cpolar官网后,下载windows版本版本,双击安装包一路默认安装即可。

2.1.2 linux系统

cpolar 安装(国内使用)

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

或 cpolar短链接安装方式:(国外使用)

curl -sL https://git.io/cpolar | sudo bash

查看版本号,有正常显示版本号即为安装成功

cpolar version

token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx
图片

简单穿透测试

cpolar http 8080

按ctrl+c退出

向系统添加服务

sudo systemctl enable cpolar

启动cpolar服务

sudo systemctl start cpolar

查看服务状态

图片
2.2 创建隧道映射本地端口

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。

图片

点击左侧仪表盘的隧道管理——创建隧道,创建一个tomcat的8080端口 http隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复

  • 协议:选择http

  • 本地地址:8080

  • 域名类型:免费选择随机域名

  • 地区:选择China vip

点击创建

图片

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,然后复制地址

图片
2.3 测试公网地址

这里以Postman接口调试工具向接口发送请求,在postman创建一个post请求方式.输入复制的公网地址加上接口路径,参数使用JSON格式,设置好参数点击

图片

在服务接口端debug调试接口,查看请求是否进入接口,进入接口表示调用成功

图片

3. 固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

3.1 保留一个二级子域名

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

图片
3.2 配置二级子域名

访问http://127.0.0.1:9200/,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的8080隧道,点击右侧的编辑

图片

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名,本例为test01

点击更新

图片

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来

图片
3.2 测试使用固定公网地址

打开postman,使用固定http地址进行调用

图片

同样在服务端debug调试查看请求是否进入接口,进入接口表示成功

图片

4. Cpolar监听器

我们还可以使用cpolar监听器(http://localhost:4040)查看接口请求日志,处理一个讨厌的bug。甚至可以重播请求消息包,加速测试的请求,单击重放(Replay)按钮,重新发送该HTTP信令请求,而不是手动重新触发操作。下面介绍使用cpolar监听器监听请求。

4.1 开启侦听功能

选择我们刚刚创建配置的http隧道,并点击右侧的编辑

图片

打开高级设置,开启侦听功能

图片
4.2 请求侦听

在浏览器访问本地4040端口,http://localhost:4040

图片

向服务端发送请求后,此处就会显示相关的请求日志,可以看到请求的方式,请求的数据,接口路径,和返回状态及结果,极大提高了调试效率。

图片

👉 欢迎加入小哈的星球,你将获得:专属的项目实战(多个项目) / 1v1 提问 /Java 学习路线 /学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《Spring AI 项目实战》正在更新中..., 基于 Spring AI + Spring Boot 3.x + JDK 21;

  • 《从零手撸:仿小红书(微服务架构)》 已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17..., 点击查看项目介绍;演示地址:http://116.62.199.48:7070/

  • 《从零手撸:前后端分离博客项目(全栈开发)》2期已完结,演示链接:http://116.62.199.48/;

  • 专栏阅读地址:https://www.quanxiaoha.com/column

截止目前,累计输出 100w+ 字,讲解图 4013+ 张,还在持续爆肝中..后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,戳我加入学习,解锁全部项目,已有4100+小伙伴加入

1. 我的私密学习小圈子,从0到1手撸企业实战项目~ 2. MyBatis-Plus 天花板教程,还有谁不会?! 3. 手把手教你 Java 文件断点下载 4. 微服务项目打包部署,一套带走!
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。 获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。
PS:因公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。 点“在看”支持小哈呀,谢谢啦
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 22:18:57

Excalidraw本地化部署教程:私有化环境搭建指南

Excalidraw本地化部署教程&#xff1a;私有化环境搭建指南 在企业级协作日益依赖可视化表达的今天&#xff0c;一张架构图、一个流程草图往往承载着关键决策信息。而将这些敏感内容上传至公网工具——哪怕只是临时分享——都可能带来数据泄露的风险。正是在这种背景下&#xf…

作者头像 李华
网站建设 2026/4/21 0:16:54

Excalidraw与Notion集成:打造一体化知识库

Excalidraw与Notion集成&#xff1a;打造一体化知识库 在技术团队的日常协作中&#xff0c;你是否经历过这样的场景&#xff1f;一场头脑风暴后&#xff0c;白板上画满了系统架构草图和流程逻辑&#xff0c;大家意犹未尽。会议结束&#xff0c;照片被丢进群聊&#xff0c;几天…

作者头像 李华
网站建设 2026/4/21 19:00:02

智能测试用例生成:是银弹还是玩具?面试中如何客观评价?

在2025年的软件测试行业&#xff0c;随着人工智能和机器学习技术的飞速发展&#xff0c;智能测试用例生成工具已成为热门话题。它们被誉为能自动化生成测试数据、场景和路径的“革命性创新”&#xff0c;但同时也被质疑为脱离实际、难以落地的“玩具”。对于软件测试从业者而言…

作者头像 李华
网站建设 2026/4/19 14:59:53

【大模型开发者必看】:Open-AutoGLM电子书高清完整版下载(附源码解析)

第一章&#xff1a;Open-AutoGLM电子书下载 获取《Open-AutoGLM》电子书是深入了解该开源项目自动化推理与代码生成能力的第一步。该项目围绕轻量化大语言模型在代码任务中的应用展开&#xff0c;提供了完整的文档支持与实践案例。 官方发布渠道 电子书可通过项目官网及 GitHu…

作者头像 李华
网站建设 2026/4/21 5:35:26

2024最值得入手的Open-AutoGLM相关礼物TOP10(科技达人私藏款曝光)

第一章&#xff1a;Open-AutoGLM 礼物选购推荐智能推荐系统的核心机制 Open-AutoGLM 是一款基于开源大语言模型的智能礼物推荐工具&#xff0c;能够根据用户输入的关系、预算、兴趣等维度&#xff0c;自动生成个性化礼品建议。其核心逻辑在于语义理解与知识图谱的融合&#xff…

作者头像 李华
网站建设 2026/4/21 2:22:58

好写作AI:跨界搞研究?别让AI拖了你创新的后腿

当你选择挑战一个交叉学科课题——比如“计算社会学”、“生物信息学”或“量子化学”——的那一刻&#xff0c;就意味着你选择了一条艰难但充满潜力的路。然而&#xff0c;当你试图向AI工具寻求帮助时&#xff0c;常常会感到失望&#xff1a;它似乎理解每个独立学科的概念&…

作者头像 李华