通过内网穿透快速搭建公网可访问的Spring Boot接口调试环境

🔥博客主页小羊失眠啦

🔖系列专栏C语言CpolarLinux

❤️感谢大家点赞👍收藏⭐评论✍️


文章目录

  • 前言
  • [1. 本地环境搭建](#1. 本地环境搭建)
    • [1.1 环境参数](#1.1 环境参数)
    • [1.2 搭建springboot服务项目](#1.2 搭建springboot服务项目)
  • [2. 内网穿透](#2. 内网穿透)
    • [2.1 安装配置cpolar内网穿透](#2.1 安装配置cpolar内网穿透)
      • [2.1.1 windows系统](#2.1.1 windows系统)
      • [2.1.2 linux系统](#2.1.2 linux系统)
    • [2.2 创建隧道映射本地端口](#2.2 创建隧道映射本地端口)
    • [2.3 测试公网地址](#2.3 测试公网地址)
  • [3. 固定公网地址](#3. 固定公网地址)
    • [3.1 保留一个二级子域名](#3.1 保留一个二级子域名)
    • [3.2 配置二级子域名](#3.2 配置二级子域名)
    • [3.2 测试使用固定公网地址](#3.2 测试使用固定公网地址)
  • [4. Cpolar监听器](#4. Cpolar监听器)
    • [4.1 开启侦听功能](#4.1 开启侦听功能)
    • [4.2 请求侦听](#4.2 请求侦听)

前言

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

1. 本地环境搭建

1.1 环境参数

  • JDK1.8
  • IDEA
  • SpringBoot
  • Maven
  • Tomcat9.0
  • Postman

1.2 搭建springboot服务项目

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

shell 复制代码
@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 安装(国内使用)
shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短链接安装方式:(国外使用)
shell 复制代码
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号,有正常显示版本号即为安装成功
shell 复制代码
cpolar version
  • token认证

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

shell 复制代码
cpolar authtoken xxxxxxx
  • 简单穿透测试
shell 复制代码
cpolar http 8080

按ctrl+c退出

  • 向系统添加服务
shell 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
shell 复制代码
sudo systemctl start cpolar
  • 查看服务状态
shell 复制代码

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

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

转载自cpolar内网穿透的文章:Springboot服务端接口公网远程调试,并实现HTTP服务监听


相关推荐
Victor35643 分钟前
Redis(25)Redis的RDB持久化的优点和缺点是什么?
后端
Victor3561 小时前
Redis(24)如何配置Redis的持久化?
后端
BD_Marathon5 小时前
【Flink】部署模式
java·数据库·flink
鼠鼠我捏,要死了捏8 小时前
深入解析Java NIO多路复用原理与性能优化实践指南
java·性能优化·nio
ningqw8 小时前
SpringBoot 常用跨域处理方案
java·后端·springboot
你的人类朋友8 小时前
vi编辑器命令常用操作整理(持续更新)
后端
superlls8 小时前
(Redis)主从哨兵模式与集群模式
java·开发语言·redis
胡gh8 小时前
简单又复杂,难道只能说一个有箭头一个没箭头?这种问题该怎么回答?
javascript·后端·面试
一只叫煤球的猫9 小时前
看到同事设计的表结构我人麻了!聊聊怎么更好去设计数据库表
后端·mysql·面试
uzong9 小时前
技术人如何对客做好沟通(上篇)
后端