当前位置: 首页 > news >正文

本地开发调试企业微信回调接口不顺畅?利用 CPolar 实现内网穿透,快速建立公网访问通道

文章目录

    • 前言
    • 1. Windows安装Cpolar
    • 2. 创建Cpolar域名
    • 3. 创建企业微信应用
    • 4. 定义回调本地接口
    • 5. 回调和可信域名接口校验
    • 6. 设置固定Cpolar域名
    • 7. 使用固定域名校验

前言

Cpolar 是一款内网穿透工具,能把本地服务映射到公网,让没有公网 IP 的设备也能被外部访问,适合企业微信开发者、需要远程调试的程序员等,优点是无需配置路由器,操作简单还支持 HTTPS 加密。

使用时要注意,免费版域名 24 小时会变,长期用建议选固定域名;校验接口时得确保本地服务正常启动,端口要和隧道配置一致。

企业微信开发时,本地服务只能在局域网内用,想接收消息回调、审批通知就得部署到云服务器,来回切换既费时间又增加测试成本,远程协作时调试更麻烦。

而 Cpolar 和企业微信结合后,本地服务不用部署到云端,就能直接接收公网回调请求,开发者在咖啡厅、家里都能顺畅调试,还能节省服务器费用,让跨网络联调效率大大提升。

下面介绍如果在企业微信开发者中心,通过使用cpolar提供的域名成功验证回调本地接口服务!

1. Windows安装Cpolar

cpolar官网:https://www.cpolar.com/

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

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

20230130105810

2. 创建Cpolar域名

登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个本地服务的http隧道

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

点击创建

image-20240110095148454

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的域名地址,有两种访问方式,一种是http 和https,域名我们需要记住,稍后在企业微信开发者中心创建应用的时候需要填写该域名!

image-20240110095236242

3. 创建企业微信应用

进入微信企业开发者中心,登录后,点击上方工具,再点击左侧网页应用开发,进入创建应用界面,点击创建应用

image-20240110100000160

填写相关的信息,点击下一步,配置开发信息

image-20240110100136027

把要求填写的域名信息填写上面我们在cpolar中创建的域名,然后点击创建应用

image-20240110103143588

创建后,我们可以看到,提示没有验证成功,因为后端接口服务没有开启,下面我们针对可信域名,回调数据接口在服务端编写相关的接口,上传可信域名校验文件,并启动服务完成验证

image-20240110111320276

4. 定义回调本地接口

我们按照企业微信相关文档要求,编写回调校验接口,接口逻辑是一样的,同时把可信域名校验文件放到静态文件根目录下面,具体以您自己本地服务为准,本例只是以Java Spring Boot 为例子,设置后,运行本地接口服务,注意服务端口需要设置和cpolar中填写的端口一致,本例是8080端口!

image-20240110111843015

5. 回调和可信域名接口校验

上面我们启动运行本地接口服务后,再次打开企业微信开发者中心,应用参数界面,开始可信域名校验,点击校验可信域名归属,

image-20240110115538504

然后可以看到已验证,校验通过了,下面进行回调接口校验

image-20240110115604534

分别点击两个URL申请校验

image-20240110115712774

可以看到,全部校验成功了,无公网IP,无公网服务器,使用cpolar域名同样可以完成企业微信网页应用开发调试

image-20240110115928378

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

通常一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:callbacktest.cpolar.cn),这样更显正式,便于流交协作。

6. 设置固定Cpolar域名

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

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

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

image-20240110120635951

保留成功后复制保留的二级子域名地址

image-20240110120923135

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240110120952395

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

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

点击更新

image-20240110121043324

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的域名名称,域名设置固定成功后,下面进行修改之前的设置的域名参数,换成固定的域名地址!

image-20240110121241643

7. 使用固定域名校验

下面把企业微信开发者里面的应用配置参数地址换成cpolar中固定的域名地址,首先可信域名验证修改,点击编辑

image-20240110121800229

然后换成cpolar固定的域名,重新点击校验

image-20240110122646745

可以看到同样校验成功

image-20240110122717721

同样的方法,回调接口校验也是成功,这样一个cpolar固定域名就设置好了.

image-20240110122959539

就这样,通过 cpolar,企业微信回调调试不用再受局域网限制,本地开发环境也能轻松对接公网,让调试过程更简单、高效,适合各类场景下的开发需求。

本篇文章知识点来源[cpolar官网][https://www.cpolar.com]

  1. cpolar博客:配置二级子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-name
  2. cpolar博客:配置自定义域名: https://www.cpolar.com/blog/configure-your-own-domain-name
  3. cpolar博客:配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-address
  4. cpolar博客:配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address
http://www.dtcms.com/a/568481.html

相关文章:

  • 金融数仓项目介绍
  • 《投资-154》Beta(贝塔系数)是金融领域中用于衡量资产(如股票、基金、投资组合)系统性风险的核心指标,它反映了资产相对于市场整体波动的敏感程度。
  • 【开发技能】借助Aspose.Words,用C#开发一个Markdown到 Word的转换器
  • React 中 useCallback 的基本使用和原理解析
  • 做网站架构深圳精美网站设计
  • OpenCV(十九):图像的加法运算
  • 基于单相机的双目视觉三维重构项目:使用深度学习方法计算视差图
  • Unity UGC IDE实现深度解析(五):事件系统与消息传递
  • 苏州市建设工程交易中心网站网站开发设计总结及心得体会
  • 黑龙江省鹤岗市城乡建设局网站建站域名
  • soular零基础学习,如何实现TikLab工具链统一登录认证
  • Go语言设计模式:解释器模式详解
  • 深圳的游戏公司后端开发面经
  • 全新私域(微信)管理系统如何获取?
  • 《Godot轻量化开发的全流程进阶指南》
  • 首个开源方案:将 Godot 3D 游戏无缝嵌入 React Native 应用
  • Qt在线安装测试可用的国内代理
  • React Native第五章
  • 如何提高测试用例覆盖率?
  • 蒙古网站群建设html做的网站排版导致乱码
  • 【国产桌面操作系统】QT应用打deb包
  • React 12
  • 做网站 怎么发布专业模板建站哪家好
  • JavaSe—Set集合
  • 单调栈的“近亲”:用 O(n) 的「单调队列」征服「滑动窗口最大值」
  • Buildroot构建Linux系统根文件系统
  • 在自动驾驶数据闭环中的特征工程应用(上)
  • 【具身智能】Spatial Forcing 论文笔记 如何隐式地为 VLA 注入 3D 空间感知能力
  • 多模态技术深度探索:融合视觉与语言的AI新范式
  • 自动化单mysql多实例库的全量迁移脚本-v2版本