【服务器】springboot实现HTTP服务监听

简介: 【服务器】springboot实现HTTP服务监听

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


前言


前后端分离项目中,在调用接口调试时候,我们可以通过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


21bdb135d4e0186871c7f22992d1e8f1.png

  • 简单穿透测试
cpolar http 8080
  • 向系统添加服务
sudo systemctl enable cpolar


  • 启动cpolar服务
sudo systemctl start cpolar


  • 查看服务状态

04eec9117d4ad12d7cd91e7710f13088.png


2.2 创建隧道映射本地端口


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


860047544969ee14237e3d57a94c5d43.png

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

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

协议:选择http

本地地址:8080

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

地区:选择China vip

点击创建


c60b2b08aac03aea044423f59c667d4c.png


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


9e707912c431500158293790e84b5856.png


2.3 测试公网地址


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


20650ddaa502f5ed825d8b37b1ce1011.png


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


c760f052912c27fc80d2d23991d65b64.png


3. 固定公网地址


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


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


3.1 保留一个二级子域名


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


08001e24e374cebf307036e2c4e6bddf.png


3.2 配置二级子域名


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

70a50dff15bc61c6b7bdc47dddcc8542.png


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

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

点击更新


a8bf35f2cf0c0252e2bedb2118f8524a.png


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


0a886a4bac24e57640e015117d066933.png


3.2 测试使用固定公网地址


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


50518f854a2215ccd0067e428dc04be1.png


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

b071e9626c659f5641a33bdbb3abfe45.png

4. Cpolar监听器


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


4.1 开启侦听功能


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


ea7231d30368cf47043b3ac6d4c6080b.png

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

c8460dabe5dac83118e8b9f71c9c0f7b.png


4.2 请求侦听

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

372e34870723627ba2699c2428cda6e5.png



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


55b899cbf6e137cc424e1e576d1c98f6.png


相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
18天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
65 2
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
401 2
|
1月前
|
机器学习/深度学习 弹性计算 运维
ECS阿里云监控服务
ECS阿里云监控服务
73 3
|
1月前
|
Web App开发 监控 Java
|
22天前
|
Shell Windows
Windows服务器 开机自启动服务
Windows服务器 开机自启动服务
13 0
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
150 1
|
1月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
152 1
|
3天前
|
安全 Java 网络安全
对象存储oss使用问题之使用oss上服务器后显示服务异常如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
10 0
|
7天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务