本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
文章目录
转载自 cpolar 内网穿透的文章:Springboot 服务端接口公网远程调试,并实现 HTTP 服务监听
前言
前后端分离项目中,在调用接口调试时候,我们可以通过 cpolar 内网穿透将本地服务端接口模拟公共网络环境远程调用调试,本次教程我们以 Java 服务端接口为例。
- 本地环境搭建
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;
}
}
这里我们使用 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 调试接口, 查看请求是否进入接口, 进入接口表示调用成功

- 固定公网地址
由于以上使用 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 调试查看请求是否进入接口, 进入接口表示成功

- Cpolar 监听器
我们还可以使用 cpolar 监听器(http://localhost:4040)查看接口请求日志,处理一个讨厌的 bug。甚至可以重播请求消息包,加速测试的请求,单击重放(Replay)按钮,重新发送该 HTTP 信令请求,而不是手动重新触发操作。下面介绍使用 cpolar 监听器监听请求。
4.1 开启侦听功能
选择我们刚刚创建配置的 http 隧道,并点击右侧的编辑

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

4.2 请求侦听
在浏览器访问本地 4040 端口,http://localhost:4040

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