SpringBoot 服务端接口公网远程调试,并实现 HTTP 服务监听
前后端分离项目中,在调用接口调试时候,可以通过cpolar内网穿透将本地服务端接口模拟公共网络环境远程调用调试,本次教程以Java服务端接口为例。
1. 本地环境搭建
1.1 环境参数
JDK1.8
IDEA
SpringBoot
Maven
Tomcat9.0
Postman
1.2 搭建springboot服务项目
搭建一个springboot服务的项目,编写一个接口,为了更好直观看到,这里创建一个pos请求的接口
2. 内网穿透
这里使用cpolar来进行内网穿透,支持http/https/tcp协议,不限制流量,无需公网IP,也不用设置路由器,使用简单。
2.1 安装配置cpolar内网穿透
cpolar官网:
https://www.cpolar.com/
访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。
windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南
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小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】
注意需要将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
向服务端发送请求后,此处就会显示相关的请求日志,可以看到请求的方式,请求的数据,接口路径,和返回状态及结果,极大提高了调试效率。
SpringBoot 服务端接口公网远程调试,并实现 HTTP 服务监听相关推荐
- RemObjects(一)客户端远程调用服务端接口过程
RemObjects SDK 是高度封装的产物,对OOP发挥极致. 本文将以RemObjects SDK最简单的DEMO--FirstSample为例, 介绍客户端是如何完成远程调用服务端接口的全过程 ...
- 移动端与PHP服务端接口通信流程设计(基础版)
为什么80%的码农都做不了架构师?>>> 针对 --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的,只对公司 ...
- 全新版个人博客小程序,无需开发服务端接口即可使用
介绍: 全新版个人博客小程序,服务端使用的是Bmob后端云,无需开发服务端接口即可使用,快速便捷,代码简洁,功能包括文章列表,文章分类列表,赞赏功能,签到,收藏文章,查看文章,点赞文章,消息通知,评论 ...
- 微信个人号客服系统淘宝客发单机器人sdk服务端接口列表
微信个人号客服系统淘宝客发单机器人sdk服务端接口列表 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo ...
- app微信支付-java服务端接口 支付/查询/退款
app微信支付-java服务端接口 支付-查询-退款 个人看微信的文档,看了很多前辈的写法,终于调通了,在这里做一下记录. 首先来定义各种处理类(微信支付不需要特殊jar包,很多处理需要自己封装,当然 ...
- 接口-服务端接口客户端接口
记得刚工作就开始纠结接口这个问题,纠结到现在,总算是从头到尾摸索了一遍. 首先,服务端接口,是指我这个系统作为服务,然后其他的系统来调我.首先,接口,双方会定义一定的规范,即我这个系统,和调用我这个系 ...
- SpringBoot官方热部署和远程调试神器,真带劲!
平时使用SpringBoot开发应用时,修改代码后需要重新启动才能生效.如果你的应用足够大的话,启动可能需要好几分钟.有没有什么办法可以加速启动过程,让我们开发应用代码更高效呢?今天给大家推荐一款Sp ...
- SpringBoot | 第三十二章:事件的发布和监听
前言 今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节.想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了 ...
- 七. jenkins部署springboot项目(4)-linux环境--远程调试
前提:linux环境,jenkins服务器和springboot服务器不在一台机器. linux环境,jenkins这里就不说了,主要说下和windows环境的不同. 1. jenkins服务器连接s ...
最新文章
- Web测试实践-任务进度-Day02
- C++常见面试题之数据结构和算法
- 据阿里云EMR快速搭建数据平台(二)
- ios开发中,User Defined Runtime Attributes的应用
- Net中的反射使用入门
- python实现二叉堆中的大顶堆(大根堆)
- 企业官网示例以及数据库表结构
- Google Android操作系统内核编译图文教程
- 没有桌面体验功能就不能进行图片打印
- 用Python看蜜雪冰城店铺在哪个省份最多~
- Python打造文件MD5值计算器
- java怎么导出有模板的表格_java用模板导出数据表格-Go语言中文社区
- 使用zend studio配置Xdebug调试PHP教程
- 免费下载收费音乐教程,亲测有效
- JS校验身份证号码格式
- Verilog无符号除法器-状态机实现
- SQL学习笔记04 极客时间 SQL必知必会50讲
- “钱妈妈”平台犯罪嫌疑人被抓捕 涉嫌非法吸收公众存款
- iOS开发-常用第三方开源框架介绍
- linux环境下随时照看服务器进程的ps和top命令
热门文章
- 【IDEA 教程系列第 31 篇】idea 快速跳回上一个操作和跳到下一个动作
- 1、Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
- 【2021首发】《2020博客之星年度总评选》拉票ing...
- 利用鼠标在图像上画框并实时显示鼠标所点击处坐标
- 全国计算机word第八题,全国计算机等级考试一级上机WORD题(八)
- Supervised Contrastive Learning(学习笔记)
- 机器学习——XGboost进行分类预测,模型优化的实战
- decodeURIComponent()函数和encodeURIComponent() 函数用法
- ESP32C3 build-in USB JTAG调试 Failed to run flasher stub (-4) workaround解决,[最新20211104乐鑫已经修正]
- 羊毛出在狗身上,由猪买单