springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】
作者:mmseoamin日期:2023-12-18

文章目录

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

              转载自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
                     */
                    @PostMapping("/interTest")
                    public MapinterTest(@RequestBody Map 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
                        

                        springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230417112726,第1张

                        • 简单穿透测试
                          cpolar http 8080
                          

                          按ctrl+c退出

                          • 向系统添加服务
                            sudo systemctl enable cpolar
                            
                            • 启动cpolar服务
                              sudo systemctl start cpolar
                              
                              • 查看服务状态
                                 
                                

                                springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230417112718,第2张

                                2.2 创建隧道映射本地端口

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

                                springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105810,第3张

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

                                • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
                                • 协议:选择http
                                • 本地地址:8080
                                • 域名类型:免费选择随机域名
                                • 地区:选择China vip

                                  点击创建

                                  springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105901,第4张

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

                                  springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105902,第5张

                                  2.3 测试公网地址

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

                                  springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105903,第6张

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

                                  springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105904,第7张

                                  3. 固定公网地址

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

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

                                  3.1 保留一个二级子域名

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

                                  springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105905,第8张

                                  3.2 配置二级子域名

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

                                  springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105906,第9张

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

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

                                    点击更新

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105907,第10张

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105908,第11张

                                    3.2 测试使用固定公网地址

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105909,第12张

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105910,第13张

                                    4. Cpolar监听器

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

                                    4.1 开启侦听功能

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105911,第14张

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105912,第15张

                                    4.2 请求侦听

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105913,第16张

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

                                    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】,20230130105914,第17张